【问题标题】:Is there a way to scrape Amazon Product Listing page using Python?有没有办法使用 Python 抓取亚马逊产品列表页面?
【发布时间】:2013-02-12 23:48:37
【问题描述】:

我正在尝试抓取显示特定产品的供应商和价格的产品列表页面,但 urllib.urlopen 不起作用——它可以在亚马逊上的所有其他页面上工作,但我有点想知道是否亚马逊的机器人可以防止抓取产品列表页面。任何人都可以验证这一点吗?使用 Chrome 我仍然可以查看页面源...

这是我想要抓取的产品列表页面示例:http://www.amazon.com/gp/offer-listing/B007E84H96/ref=dp_olp_new?ie=UTF8&condition=new

【问题讨论】:

  • 他们的 API 有什么问题吗?总比走进“前门”要容易一些">

标签: python amazon urlopen


【解决方案1】:

在该 URL 上尝试 curl -I 会返回 MethodNotAllowed

$ curl -I 'http://www.amazon.com/gp/offer-listing/B007E84H96/ref=dp_olp_new?ie=UTF8&condition=new' 
HTTP/1.1 405 MethodNotAllowed
Date: Wed, 13 Feb 2013 16:41:08 GMT
Server: Server
x-amz-id-1: 1WKZG9N0SE87E3KFG6YV
allow: POST, GET
x-amz-id-2: Apluv2QBzzrmXlRWjlClRGsQQ1TbwsxObe2hxfdrGhO/OQziI/aIT3vkVjCPn+qz
Vary: Accept-Encoding,User-Agent
Content-Type: text/html; charset=ISO-8859-1

使用-A 开关添加User-Agent 字符串不会影响该返回值。

您可以尝试使用不同的 http 标头,看看是否可以找到通过的内容。但很明显,亚马逊不希望你筛选价格 从他们的产品页面。稍微用谷歌搜索一下就会出现这个页面:

http://www.distil.it/amazon-cracks-down-on-price-scraping/#.URvBFo4ry0s

在没有大张旗鼓或警告的情况下,亚马逊在 6 月开始执行一项 禁止屏幕抓取工具收割的长期政策 直接从其市场列出信息,这是一个最喜欢的工具 为商家提供重新定价服务的提供商,根据 第三方开发商。

另请注意,亚马逊为其附属公司提供了一个 API——在右侧列的“相关”问题链接中,有一些关于使用 python 中的 API 的相关问题。

【讨论】:

  • 非常感谢——我从未听说过 curl。感谢您的帮助。
【解决方案2】:

你听说过BeautifulSoup吗?你可能会从中获得一些里程......

http://www.crummy.com/software/BeautifulSoup/


更多详情:BeautifulSoup Grab Visible Webpage Text

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多