我正在使用urllib2和beautifulsoup写蜘蛛。但我遇到了一些问题。
我无法正确下载网页。我试过了
GET 'http://thesite.html'
,
wget 'http://thesite.html'
,
curl -O 'http://thesite.html'
,
在linux终端上,但得到了很多,似乎是错误的编解码器。
然后我尝试使用file_get_contents('http://thesite.html')
,但无法获得正确的网页。
然后我尝试了urllib2.urlopen('http://thesite.html')
,无法正常工作。
s = urllib2.urlopen('http://thesite.html')
print chardet.detect(s)
并输出{'confidence':0.0, 'encoding':None}
任何人都可以帮我这个吗?如何像网络浏览器一样获得正确的网页。
答案 0 :(得分:0)
你在下载什么?它是文本还是二进制文件,例如一个图像?
二进制文件可能解释了为什么wget和curl等标准工具会返回大量“质量”(混乱?),而chardet.detect()
在这种情况下会返回{'confidence': 0.0, 'encoding': None}
。
>>> import urllib2
>>> import chardet
>>> s = urllib2.urlopen('http://i.stack.imgur.com/uIM9Q.png?s=32&g=1').read() # your avatar
>>> chardet.detect(s)
{'confidence': 0.0, 'encoding': None}
Python 3中的字节字符串是什么样的?否则,如果您太腼腆地发布URL,追溯或其他详细信息,也许您可以发布一点该字符串?