我想寫一個Scrapy的小型網絡爬蟲。在Scrapy上循環doens't正常工作
我寫了一個抓取器,抓取特定頁面上某些鏈接的URL,並將這些鏈接寫入一個csv文件。然後,我編寫了另一個爬行器,在這些鏈接上進行循環,並從指向這些鏈接的頁面下載一些信息。
上的鏈接的循環:
cr = csv.reader(open("linksToCrawl.csv","rb"))
start_urls = []
for row in cr:
start_urls.append("http://www.zap.co.il/rate"+''.join(row[0])[1:len(''.join(row[0]))])
如果,例如,我從檢索信息的網頁的URL是:
http://www.zap.co.il/ratemodel.aspx?modelid=835959
那麼更多的信息(有時)可從以下頁面中檢索,如:
http://www.zap.co.il/ratemodel.aspx?modelid=835959&pageinfo=2 (「& page信息= 2「被添加)。
因此,我的規則是:
rules = (Rule (SgmlLinkExtractor (allow = ("&pageinfo=\d",
), restrict_xpaths=('//a[@class="NumBtn"]',))
, callback="parse_items", follow= True),)
這似乎是工作的罰款。但是,似乎檢索器只能從檢索具有擴展URL的頁面(「& pageinfo = \ d」),而不是沒有它們的頁面。我該如何解決這個問題?
謝謝!
謝謝@kev - 它的工作原理!雖然我不明白爲什麼;) – Cheshie