我发现您无法使用Python的urllib2(或urllib)从某些网站上阅读。一个例子......
urllib2.urlopen("http://www.dafont.com/").read()
# Returns ''
当您使用浏览器访问该网站时,这些网站会起作用。我甚至可以使用PHP抓它们(没有尝试其他语言)。我见过其他网站存在同样的问题 - 但目前还不记得网址。
我的问题是......
答案 0 :(得分:6)
我相信它会被User-Agent阻止。您可以使用以下示例代码更改User-Agent:
USERAGENT = 'something'
HEADERS = {'User-Agent': USERAGENT}
req = urllib2.Request(URL_HERE, headers=HEADERS)
f = urllib2.urlopen(req)
s = f.read()
f.close()
答案 1 :(得分:3)
尝试设置其他用户代理。查看this link中的答案。
答案 2 :(得分:0)
我是发布问题的人。我有一些怀疑 - 但不确定 - 这就是我在这里发布问题的原因。
我认为这是由于主机使用robot.txt或htaccess阻止了urllib库。但不确定。甚至不确定它是否可能。
如果你在Unix中,这将有效...
contents = commands.getoutput("curl -s '"+url+"'")