【问题标题】:How to write a rule for scrapy to add visited urls如何为scrapy编写添加访问网址的规则
【发布时间】:2012-11-28 03:20:10
【问题描述】:

当scrapy 关闭时,它会忘记所有的url。我想在开始时给scrapy一组已被抓取的网址。 怎么给 crawlspider 加一条规则,让它知道哪些 url 被访问了?

当前功能:

SgmlLinkExtractor(allow=(), deny=(), allow_domains=(), deny_domains=(), restrict_xpaths(), tags=('a', 'area'), attrs=('href'), canonicalize=True, unique=True, process_value=None)

只需使用 parse 来告诉蜘蛛要抓取哪个 url。 如何告诉 scrapy 哪些 url 不应该访问?

【问题讨论】:

    标签: python scrapy web-crawler


    【解决方案1】:

    当 scrapy 停止时,它会将抓取的 URLS 指纹保存在 request.seen 文件中。这是由 dedup 类完成的,该类用于抓取 url 两次,但是如果您重新启动具有相同作业目录的抓取工具,它将不会抓取已经看到的 url。 如果您想控制此过程,您可以自己替换默认的 dedup 类。 另一种解决方案是添加您自己的spidermiddleware

    【讨论】:

      【解决方案2】:

      Scrapy 的作业功能允许您启动和暂停您的蜘蛛。您可以在运行之间保留有关蜘蛛的信息,并且在您重新启动时它会自动跳过重复的请求。

      更多信息请看这里:Jobs: pausing and resuming crawls

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-11
        • 1970-01-01
        • 1970-01-01
        • 2020-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多