我正在使用 Chrome 插件抓取一些网站。其中一个网站是 kucoin.com。
在 P2P 交易部分,该网站使用标头过滤器,您可以在其中选择货币。但是,一旦您进入某个页面,它就会安装一个 cookie,该 cookie 会记住您之前使用的货币。对我来说,这非常烦人,因为我的抓取程序使用直接 URL 来抓取我感兴趣的货币。
我将使用一个例子来解释:
- 如果你访问https://www.kucoin.com/nl/otc/buy/BTC-EUR首次:您登陆欧元货币列表。
- 抓取工具继续抓取数据并分页。我还对它进行了编程,使其使用货币过滤器来抓取所有可用的货币。为了简化示例,我们假设它访问的最后一个页面是按美元过滤的。此处的当前 URL 是https://www.kucoin.com/nl/otc/buy/BTC-USD
- 抓取工具应在以太坊(ETH)上开始新周期。起始页应为https://www.kucoin.com/nl/otc/buy/ETH-EUR
- 然而,抓取工具现在将开始https://www.kucoin.com/nl/otc/buy/ETH-USD,而不是 ETH-EUR,因为它最后访问的页面是 USD,并且它在加载页面时优先考虑 cookie。
所以我正在寻找一种方法来:
- 阻止具体的cookie 被创建或读取
- 让 Chrome 在加载页面时忽略现有 Cookie
- 当抓取工具运行时,每秒清除一次特定的(或全部,此时我不再关心) cookie。
我尝试了所有能找到的 cookie 拦截插件。它们通常不会执行任何操作,因为它们不会拦截第一的-party cookies,或者它们会阻止所有 cookies 或“设备上的站点数据”;从而阻止整个页面加载。
编辑此Cookie(https://chromewebstore.google.com/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg) 似乎最有希望实现我所寻找的功能,但出于某种原因,它没有检测或阻止我所寻找的 cookie。可能它只查看第二方或第三方 cookie。
为了证明问题出在 Cookie 上,我一直在使用单击 Cookie Remover(https://chromewebstore.google.com/detail/cookie-remover/kcgpggonjhmeaejebeoeomdlohicfhce),点击后会提示删除了一个 cookie,然后输入直接 URL 即可一次因为在此页面加载后,会再次创建 cookie。显然我也不能每秒手动点击一次此按钮。
请帮我找到这个问题的解决方案,这个问题已经困扰我好几天了!提前谢谢您!
答案1
您可以转到 Chrome 中的此设置链接来删除特定网站的 Cookie(www.kucoin.com点击此处)并点击删除数据,但这与您的 cookie 移除扩展相同。它需要添加到您的抓取工具的步骤中:
chrome://settings/content/siteDetails?site=https%3A%2F%2Fwww.kucoin.com
或手动操作:Chrome > 设置 > 隐私和安全 > 第三方 Cookie > 查看所有网站数据和权限 > 搜索网站网址 > 删除内容
https://support.google.com/chrome/answer/95647?hl=en-GB#zippy=%2Cdelete-cookies-from-a-site
打开新的隐身窗口也可以
Chrome 曾经有一个设置,用于列出“永远不能使用 Cookie 的网站”,但在我的版本中,该设置似乎已被删除,同时删除了阻止第一方 Cookie 的其他方法(除非我错过了它们)。例如chrome://settings/cookies
,Edge 在下面有一个阻止列表。edge://settings/content/cookies