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如何批量处理excel数据?

Python之反转序列详解

为什么Python安装失败

Python之property()装饰器的使用详解

Python字符串连接的几种方式总结

Python序列基础--元组

Python实现switch/case语句的方法

Python 合并多个字典或映射教程

Python轻松实现图片旋转

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




打赏

取消

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

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

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

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

评论

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