我正在用scrapy编写一个蜘蛛来抓取一个网站,索引页面是一个链接列表,如www.link1.com、www.link2.com、www.link3.com,并且该网站经常更新,所以我的爬虫是每个小时运行的过程的一部分,但我只想抓取我尚未抓取的新链接。我的问题是,scrapy 在深入时随机化了它处理每个链接的方式。是否可以强制 sracpy 按顺序爬行?像 1 然后 2 然后 3,这样我就可以保存我抓取的最后一个链接,并且在再次启动该过程时只需将链接 1 与以前的链接 1 进行比较?
希望这是可以理解的,对不起我糟糕的英语,
善意的回应,
谢谢
编辑 :
class SymantecSpider(CrawlSpider):
name = 'symantecSpider'
allowed_domains = ['symantec.com']
start_urls = [
'http://www.symantec.com/security_response/landing/vulnerabilities.jsp'
]
rules = [Rule(SgmlLinkExtractor(restrict_xpaths=('//div[@class="mrgnMD"]/following-sibling::table')), callback='parse_item')]
def parse_item(self, response):
open("test.t", "ab").write(response.url + "\n")