【问题标题】:Python Web Scraping HTTP 400Python 网页抓取 HTTP 400
【发布时间】:2015-08-26 04:01:02
【问题描述】:

我正在使用 Python 进行网络抓取(使用 Scrapy 框架)。抓取成功,直到它进入该过程大约一个小时,然后每个请求都返回一个 HTTP400 错误代码。

这可能只是基于 IP 的速率限制器或抓取检测工具吗?关于如何进一步调查根本原因的任何建议?

【问题讨论】:

  • 400 错误代码是否附带错误消息?
  • 是3600秒吗?

标签: python http web-scraping scrapy


【解决方案1】:

我认为是请求率的问题。尝试一些download_delay。如果您能够在 400 错误之前请求更多页面,那么您可以调整 download_delay 并获取完整的网页内容。一些网站在他们的 robots.txt 文件中提供了有关 download_delay 的信息

【讨论】:

    【解决方案2】:

    它可能是一个速率限制器。

    但是 400 错误通常意味着客户端请求格式错误,因此被服务器拒绝。

    您应该首先开始调查此问题。当您的请求开始失败时,退出您的程序并立即重新启动它。如果它开始工作,您就知道您没有受到速率限制,而且您的请求后来的形成方式实际上存在问题。

    【讨论】:

    • 如果我取消并重新开始,它确实有效,但我只是看不到请求将如何在脚本的一部分中发生变化。我可以做些什么来检查请求吗?
    猜你喜欢
    • 2019-09-07
    • 2021-01-12
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 2018-12-07
    相关资源
    最近更新 更多