PDA

View Full Version : Find All Pages



arman54
چهارشنبه 22 مرداد 1393, 10:12 صبح
سلام...
كسي ميدونه چجوري ميشه تمام صفحات (page) يك سايت رو با پايتون بيرون كشيد؟

hixnal
شنبه 25 مرداد 1393, 08:25 صبح
س-درخواست صفحه ی index رو بده و تمام لینک که در صفجه ی اول هست(در تگ a) علاوه بر ذخیره دوباره انها را پویش کن
این تنها حالتی هس که می تونی انجام بدی و تمام نرم افزار ها که در همین رابطه کار میکنن از همین قائده استفاده می کنم

Bahmany
شنبه 25 مرداد 1393, 13:20 عصر
با استفاده از BS4
https://pypi.python.org/pypi/beautifulsoup4/4.3.2

serj1975
یک شنبه 26 مرداد 1393, 09:05 صبح
Scrapy بهترین package موجود در حال حاضر برای Web Crawling و Screen Scraping میباشد. با این package علاوه بر اینکه میتوانید صفحات را بیرون بکشید، بلکه در هر صفحه دنبال pattern های خاص بگردید.

در صورتیکه علاقمند به یادگیری هستید و میخواهید به روش ساده تر . بدون framework این کار را انجام دهید کد زیر میتواند به شما کپی کند

import urllib, htmllib, formatter, re, sys

url = sys.argv[1]
website = urllib.urlopen("http://"+url)
data = website.read()
website.close()
format = formatter.AbstractFormatter(formatter.NullWriter() )
ptext = htmllib.HTMLParser(format)
ptext.feed(data)
links = []
links = ptext.anchorlist
for link in links:
if re.search('http', link) != None:
print(link)
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)

این کد از Infinite.Skills.Web.Programming.With.Python برداشته شده است که از p30download میتوانید ویدئوهای آنرا دانلود کنید