【发布时间】:2013-11-27 12:15:41
【问题描述】:
我正在尝试用 Scrapy 编写一个小型网络爬虫。
我编写了一个爬虫,它抓取某个页面上某些链接的 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 (添加了“&pageinfo=2”)。
因此,我的规则是:
rules = (Rule (SgmlLinkExtractor (allow = ("&pageinfo=\d",
), restrict_xpaths=('//a[@class="NumBtn"]',))
, callback="parse_items", follow= True),)
它似乎工作正常。但是,爬虫似乎仅从具有扩展 URL(带有“&pageinfo=\d”)的页面中检索信息,而不是从没有它们的页面中检索信息。我该如何解决?
谢谢!
【问题讨论】:
标签: scrapy web-crawler