引用楼主的回复:只有新浪有乱码,其他网站比如百度、QQ都没有问题
import urllib2
url="http://www.qq.com/"
headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}
req = urllib2.Request(url,headers=headers)
response= urllib2.urlopen(req)
html = response.read()
print html
求助高手 1.之前有人解释过你的问题是编码问题。关于编码,你需要了解: HTML: [已整理] HTML网页源码的字符编码()格式说明(GBK、UTF-8、-1等) 然后了解了:字符串与字符编码中的字符串编码专题教程,那么你就能看懂并自己处理了。这里你只需要:搞清楚你要处理的网页,然后选择合适的编码对得到的网页进行解码即可。例如: 如下图: 查看网页源码为:
因此,您应该使用:
htmlUnicode = html.decode("GBK");
或者:
htmlUnicode = html.decode("GB18030");
然后去打印一下,就大功告成了。 2.另外如果你在发送http请求之前,给了-或者其他值,那么返回的就是压缩后的二进制,也会让你以为拿到的是乱码,所以也需要先解压,然后再解码。 3.如果在解码编码的时候遇到错误或者出错,请前往:【总结】2.x中常见的字符编码解码错误及其解决办法 4.以上内容只算作网页爬虫你需要了解的一部分内容,更多的东西我整理成了相关的教程,有兴趣的可以去看: 网页爬虫相关的逻辑讲解、工具、示例代码等。 爬取网站、模拟登录、爬取动态网页的原理与实现详解(、C#等) 了解之后再使用特定的语言去实现,比如: 专题教程:爬取网站、模拟登录、爬取动态网页处理html也就是字符串的时候需要了解的内容: 专题教程:字符串及字符编码处理。 其他比如json也需要了解: JSON详解5. 其他相关内容还有很多,内容太多就不一一贴出来了,有需要的可以联系我。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。