【问题标题】:Getting blocked when scraping Amazon (even with headers, proxies, delay) [closed]抓取亚马逊时被阻止(即使有标题、代理、延迟)[关闭]
【发布时间】:2017-05-12 23:25:13
【问题描述】:

我有一个 Python 代码来抓取亚马逊产品列表。我已经设置了代理和标题。每次爬行之前我也有sleep()。但是,我仍然无法获取数据。我得到的消息是:

要讨论对亚马逊数据的自动访问,请联系 api-services-support@amazon.com

我的部分代码是:

url = "https://www.amazon.com/Baby-Girls-Shoes/b/ref=sv_sl_fl_7239798011?ie=UTF8&node=7239798011"
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'}
proxies_list = ["128.199.109.241:8080","113.53.230.195:3128","125.141.200.53:80","125.141.200.14:80","128.199.200.112:138","149.56.123.99:3128","128.199.200.112:80","125.141.200.39:80","134.213.29.202:4444"]
proxies = {'https': random.choice(proxies_list)}
time.sleep(0.5 * random.random())
r = requests.get(url, headers, proxies=proxies)
page_html = r.content
print page_html

这个问题与 Stackoverflow 上的其他问题不重复,因为其他人建议使用代理、标头和延迟(睡眠),而我已经完成了所有这些。即使按照他们的建议,我也无法刮擦。

代码最初可以运行,但在抓取几页后停止运行。

【问题讨论】:

  • 如果他们阻止了你,那么他们不希望你废弃他们的网站。看起来他们的 API 只给你评论见:stackoverflow.com/questions/4811259/… 总的来说,这可能违反了他们的 TOS,这不是一件好事。
  • 您确定在请求之间等待的时间足够长吗?如果它开始工作然后停止,这似乎是最有可能的解释。
  • 您是否真的尝试联系他们讨论您可能有哪些选择?
  • 我遇到了同样的问题——我在这里使用了标题:scrapehero.com/…scrape() 方法中,它最终工作了。

标签: python python-2.7 web-scraping


【解决方案1】:

代替:

r = requests.get(url, headers, proxies=proxies)

做:

r = requests.get(url, headers=headers, proxies=proxies)

这暂时为我解决了这个问题。希望该决议将继续有效。

【讨论】:

  • 我用的时间不长,但只要我用它就可以了。
【解决方案2】:

根据您的描述,亚马逊可能会做一些额外的事情(例如使用您的 cookie)来检查您是否在使用浏览器。但这并不是说您无法克服它:要查看来自浏览器的请求和来自脚本的请求之间的区别,我要做的是检查浏览器并 复制为 curl请求亚马逊。然后将 curl 命令转换为带有this tool 的python 请求代码。那里有一个与浏览器上的请求完全一样的请求。这样做几次以了解亚马逊是否/如何在每个请求上修改您的 cookie,然后尝试在您的脚本中模仿这种行为。

如果您确定请求看起来完全相同,您可能需要增加两个连续请求之间的等待时间。我希望这会有所帮助。

【讨论】:

    【解决方案3】:

    尝试在请求中使用会话。它将记住 cookie 和标头。如果失败了,我会尝试使用 selenium 2 与 chrome 驱动程序或 phantomjs 驱动程序,如果你更喜欢无头的话。

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 1970-01-01
      • 2020-03-06
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多