2013-02-12 95 views
1

我試圖抓住顯示供應商和特定產品的價格的產品列表頁面,但urllib.urlopen不工作 - 它將在亞馬遜上的所有其他頁面上工作,但我有點想知道亞馬遜的機器人可以防止在產品列表頁面上進行刮擦。任何人都可以驗證此?使用Chrome我仍然可以查看網頁源...有沒有辦法使用Python來抓取亞馬遜產品列表頁面?

這裏有一個產品列表網頁的一個例子,我想湊:http://www.amazon.com/gp/offer-listing/B007E84H96/ref=dp_olp_new?ie=UTF8&condition=new

+2

他們的API有什麼問題?然後在「前門」進行會更容易> – 2013-02-13 16:58:44

回答

2

試圖 '捲曲-I' 對URL返回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的一些相關問題。

+0

非常感謝 - 我從未聽說過捲曲。我感謝您的幫助。 – 2013-02-19 20:24:59