【问题标题】:Scrapy HTTP status code is not handled or not allowedScrapy HTTP 状态码未处理或不允许
【发布时间】:2020-10-15 17:27:28
【问题描述】:

我正在尝试从这个https://www.matchesfashion.com/intl/mens/shop/shoes?page=1 url 抓取所有鞋子数据,然后按照下一个按钮直到第 7 页。但是当我尝试这样做时,我收到 HTTP 状态代码未处理或不允许错误。

【问题讨论】:

    标签: python scrapy scrapy-splash scrapy-shell


    【解决方案1】:

    您会看到输出重试了您的请求 3 次。所有这些请求都得到了服务器的响应,状态码为 429。该状态码意味着服务器拒绝了您的请求,因为您在某个时间段内发送了太多请求。

    Scrapy 默认配置为忽略这些响应,因为它们不包含您要查找的数据。

    要绕过此问题,请使用诸如 scraper API 或 Crawlera 之类的代理。 或者,在 scrapy 中增加 download_delay 直到不再被阻止。像这样:

    class Website2Spider(scrapy.Spider):
        download_delay = 2 #The number you write here will be how many seconds scrapy waits before sending another request. 
    

    【讨论】:

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