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抓取网页乱码的原因及解决方法的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

ubuntu下使用Python读取doc和docx文档的内容方法

Python元祖与字典以及集合的实例讲解

Python如何用sum函数求和

Python的gui有哪些

Python编程json格式的转换、else语句的活用和setdefault方法详解

Python是弱类型语言吗

Python如何截取字符串中特定部分

Python程序的两种运行方式是什么

Python中time库的time.time()函数的作用是什么

Python数据分析方向的第三方库是什么

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




打赏

取消

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

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

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

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

评论

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