Python抓取网页乱码的原因及解决方法


当前第2页 返回上一页

要判断网页是否启用了压缩并对其解压,可参考以下代码:

1

2

3

4

5

6

7

8

9

10

11

12

import urllib

import gzip

from StringIO import StringIO

req = urllib.urlopen("http://some.web.site")

info = req.info()

encoding = info.getheader('Content-Encoding')

content = req.read()

if encoding == 'gzip':

    buf = StringIO(content)

    gf = gzip.GzipFile(fileobj=buf)

    content = gf.read()

print content

在我们教室的编程实例 查天气系列(点击查看) 中,这两个问题困扰了相当多人。在此特别讲解一下。

最后,还有个“利器”要介绍一下。如果一开始就用它,你甚至不知道还有上述两个问题的存在。

这就是 requests 模块。

同样抓取网页,只需要:

1

2

import requests

print requests.get("http://some.web.site").text

没有编码问题,没有压缩问题。

This is why I love Python.

至于如何安装 requests 模块,请参考之前的文章:

如何安装 Python 的第三方模块 - Crossin的编程教室 - 知乎专栏

1

pip install requests

以上就是Python抓取网页乱码的原因及解决方法的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python适合游戏开发吗

Python中四种锁的使用示例(代码)

认识Python对象自省机制

Python有序列表以及方法的介绍(代码)

Python爬虫买什么书?

Python中type()是什么意思

Python dll是什么意思

a[1:]在Python什么意思

如何利用Python合并文本

什么是Python和php?Python与php有什么区别

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...