有没有办法使用Python来刮取亚马逊产品列表页面?

时间:2013-02-12 23:48:38

标签: python amazon urlopen

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

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

2 个答案:

答案 0 :(得分:2)

在该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相关的问题。

答案 1 :(得分:-1)

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

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


更多详情:BeautifulSoup Grab Visible Webpage Text