python3访问sina首页中文的处理方法


Posted in Python onFebruary 24, 2014
"""
如果只用普通的
import urllib.request
html = urllib.request.urlopen("http://www.sina.com").read()
print(html.decode('gbk'))
出现下面的错误
builtins.UnicodeDecodeError: 'gbk' codec can't decode byte 0x8b in position 1: illegal multibyte sequence
怎么办?原来是有的网站将网页用gzip压缩了 。
请看下面的代码
建议大家用python2
import urllib2
from StringIO import StringIO
import gzip
request = urllib2.Request('http://www.sina.com')
request.add_header('Accept-encoding', 'gzip')
response = urllib2.urlopen(request)
if response.info().get('Content-Encoding') == 'gzip':
    buf = StringIO( response.read())
    f = gzip.GzipFile(fileobj=buf)
    data = f.read()
print data.decode("GBK").encode('utf-8')
"""
import io
import urllib.request as r
import gzip
req = r.Request("http://www.sina.com", headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36", "Accept-Encoding": "gzip"})
bs = r.urlopen(req).read()
bi = io.BytesIO(bs)
gf = gzip.GzipFile(fileobj=bi, mode="rb")
print(gf.read().decode("gbk"))
Python 相关文章推荐
python进阶教程之模块(module)介绍
Aug 30 Python
Python求解任意闭区间的所有素数
Jun 10 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
Python3模拟登录操作实例分析
Mar 12 Python
python实现nao机器人手臂动作控制
Apr 29 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
Python 通过正则表达式快速获取电影的下载地址
Aug 17 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 Python
python中sys模块的介绍与实例
Apr 17 Python
基于Python绘制子图及子图刻度的变换等的问题
May 23 Python
anaconda python3.8安装后降级
Jun 11 Python
python原始套接字编程示例分享
Feb 21 #Python
python实现360皮肤按钮控件示例
Feb 21 #Python
python实现360的字符显示界面
Feb 21 #Python
python和pyqt实现360的CLable控件
Feb 21 #Python
python使用7z解压软件备份文件脚本分享
Feb 21 #Python
python发布模块的步骤分享
Feb 21 #Python
python列表操作使用示例分享
Feb 21 #Python
You might like
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
javascript 变量作用域 代码分析
2009/06/26 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
基于Python List的赋值方法
2018/06/23 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
python处理大日志文件
2019/07/23 Python
Python基于内置函数type创建新类型
2020/10/22 Python
用python写PDF转换器的实现
2020/10/29 Python
Python tkinter实现日期选择器
2021/02/22 Python
CSS3 特效范例整理
2011/08/22 HTML / CSS
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
中国梦团日活动总结
2014/07/07 职场文书
工作检讨书怎么写
2014/10/10 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
解决Redis启动警告问题
2022/02/24 Redis