0 امتیاز
قبل در کامپیوتر و اینترنت توسط (1.9هزار امتیاز)
ساختن یک Web Crawler در پایتون به چه صورت است   ؟

1 پاسخ

+1 امتیاز
قبل توسط (1.9هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

قبلش یک توضیح مختصر کتابخانه های نسخه ای 2.7 پیدارتر هستند از این ورژن استفاده کنید و اینکه چون از طریق Local شاید بخواهید انجام بدید به خاطر فرستادن Packet و نگرفتن جواب آن که بر میگرده به TCP  حالا نمی خوام پیچش بدم اگر به سایت های که F i l  t e r ing  برسه خطا Library میده که نمی تونه Parser رو اطلاعات بده به خاطر همین مشکلی که ذکر کردم و به همین دلیل من رو VPS با IP دیگه چک کردم کامل جواب داد

import urllib, htmllib, formatter, re, sys

#Baraye Gerftan Argoman Dar Mohit gitBash az .argv[1] estefade mikonim
url = sys.argv[1]
#dar inja url Vared Shode Ra gerfte va b motghayer website enteqal midim
website = urllib.urlopen("http://"+url)
#dar inja URL vared Shode Ra khande Va DATA'HA Ra  Ba estefade Az Tab'e READ() Mikhanim
data = website.read()
#Dar inja url ro mibandim
website.close()
#dar inja Ham GHalebBandi Mikonim Va b dalil inke Meqdari nadaram k bash Kar konam b hamin dalil az  NullWriter()Estefade mikonam
format = formatter.AbstractFormatter(formatter.NullWriter())
# Dar inja ham ptext ro qaleb mikonam b khatere inke mikham Tag HTML Bekhonam
ptext = htmllib.HTMLParser(format)
#Dar inja ham Meqdar mojod dar DATA ra b ptext pas midam ta tab'e feed ann Ra TRACE konad
ptext.feed(data)

links = []
#Dar Inja Baraye Joda sazi Ebarathaye mojod dar PTEXT az anchorlist Estefade mikonam
links = ptext.anchorlist

for link in links:
	#Dar INja Agar Link Mojod Bod Ejaze Anjam Agar Nabod Khyr
	if re.search('http', link) != None:
		#Chap LINK
		print (link)
		# Az inja B bad dobare Tekrar Mikonam K B Linkhaye dge bere va Bekhone va  Dar ekhtoyar  Code qarar bede
		#Baqie CodeHA Dar Bala Tozih Dade Shode And.
		website = urllib.urlopen(link)
		data = website.read()
		website.close()
		ptext = htmllib.HTMLParser(format)
		ptext.feed(data)
		morelinks = ptext.anchorlist
		for alink in morelinks:
			if re.search('http', alink) != None:
				links.append(alink)

خروجی :

سوالات مشابه

+1 امتیاز
1 پاسخ 1.0هزار بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط morteza (20 امتیاز)
0 امتیاز
1 پاسخ 420 بازدید
+1 امتیاز
2 پاسخ 881 بازدید
0 امتیاز
2 پاسخ 307 بازدید
0 امتیاز
4 پاسخ 727 بازدید
+1 امتیاز
2 پاسخ 707 بازدید
0 امتیاز
1 پاسخ 350 بازدید
...