【问题标题】:Clear cookies on scrapy completely instead of changing them完全清除scrapy上的cookie而不是更改它们
【发布时间】:2017-05-25 18:13:32
【问题描述】:

我注意到有时我在抓取时被阻止,因为在太多页面上使用了会话 cookie。 有没有办法在爬取过程中简单地清除所有cookies,回到爬虫的初始状态?

【问题讨论】:

  • 谢谢!我看到了这个线程,但它解释了如何设置新的 cookie,而不是如何在已经产生的请求上清除它们。
  • 你看过第二个答案了吗? stackoverflow.com/a/21930089/1534704
  • 是的。设置 COOKIES_ENABLED = False 将完全阻止 scrapy 存储 cookie。就我而言,我需要抓取 cookie,但我想在我的 IP 被列入黑名单时更新它们(与 IP 更改同时)。
  • 不是该主题的专家,但设置新的 cookie(名称相同但值不同)与 更新它们不同?无论如何,也许另一个问题的答案不适合你的情况,但问题本身对我来说显然是重复的......也许你可以详细说明你的问题以避免这种重复。 Idk,只是想帮忙... :)

标签: python cookies scrapy


【解决方案1】:

我自己也面临着类似的情况。我可以在这里轻松逃脱,但我的一个想法是子类化 CookieMiddleware,然后编写一个方法来直接调整 jar 变量。它很脏,但也许值得考虑。

另一种选择是编写一个功能请求以至少具有清除 cookie 的功能。很容易再花一年的时间来实施,如果认为有必要的话,我在这里并不特别信任 scrapy 开发者。

我突然想到,您可以使用自己的 cookiejar 元数据,如果您想返回干净状态,只需使用不同的值(例如增加整数即可)。

【讨论】:

    猜你喜欢
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多