我正在编写一个脚本,用于清点所有网站网址。
我正在使用带有规则处理程序的CrawlSpider来处理已删除的URL。具体来说,“filter_links”检查表是否存在现有URL。如果没有找到,请写下新条目。
rules = [
Rule(SgmlLinkExtractor(unique=True), follow=True, callback="parse_item", process_links="filter_links")
]
我觉得这只是一个穷人'重新发明轮子',肯定存在一种更好的方法。
有没有更好的方法来转储url的scrapy列表,而不是尝试从响应中解析这个?感谢
答案 0 :(得分:0)
我认为您正在使用process_links
的方式。我认为没有任何弊端。但是如果你想摆脱这个额外的filter_links
方法,那么你可以在parse_item
方法中包含url表查找和更新逻辑。您可以parse_item
response.url
中的当前网址