Python urlopen不为亚马逊网站返回任何内容

时间:2011-09-04 18:37:37

标签: python html-parsing amazon

我刚刚开始编写Python,并且遇到了urllib看似亚马逊独有的问题。如果我这样做:

pageIn = urllib.request.urlopen("http://www.google.com")
print(pageIn.read())

它从Google打印XML。如果我做同样的事情,但与亚马逊的任何网站(主页,特定产品页面,任何东西),它打印一个空字符串。

亚马逊是我发现此唯一的网站,我不明白为什么。有什么想法吗?

编辑 - 解决: 亚马逊阻止了我的代码,因为它无法识别来源;默认情况下,它是您的Python版本号。通过更改FancyURLopener中的版本,我能够让亚马逊让我进来。下面的代码现在可以使用。

from urllib.request import FancyURLopener
class MyOpener(FancyURLopener):
version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'

myopener = MyOpener()
page = myopener.open('http://www.amazon.com/')
print(page.read())`

0 个答案:

没有答案