python 处理抓取网页乱码问题一招鲜
FROM: http://my.oschina.net/012345678/blog/122355
相信用python的人一定在抓取网页时,被编码问题弄晕过一阵
前几天写了一个测试网页的小脚本,并查找是否包含指定的信息。
在html = urllib2.open(url).read() 时,打印到控制台始终出现乱码。
一般的解决办法就是html.decode('utf-8').encode('gb2312'),不过这个即使用了,也没能解决我的问题
这里有两个问题,第一个你要知道网页的编码格式是utf-8 第二你得确定你的系统是gb2312的,能不能主动获取网页的编码格式,并主动获取系统编码格式,像这样
网页编码 = 获取网页编码
系统编码 = 获取系统编码
html.decode(网页编码).encode(系统编码) 即使我不知道网页编码,系统编码,只要双方能转 ,就行。
网页编码 = re.complier('正则获取meta里的编码格式')
系统编码 = sys.getfilesystemencoding() ########关键的关键
html.decode(网页编码).encode(系统编码) 现在打印,一切正常了。我才不管系统什么编码,只要你能转。
python 处理抓取网页乱码问题一招鲜的更多相关文章
- python 处理抓取网页乱码
python 处理抓取网页乱码问题一招鲜 相信用python的人一定在抓取网页时,被编码问题弄晕过一阵 前几天写了一个测试网页的小脚本,并查找是否包含指定的信息. 在html = urllib2. ...
- python 解决抓取网页中的中文显示乱码问题
关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...
- python分布式抓取网页
呵呵,前两节好像和python没多大关系..这节完全是贴代码, 这是我第一次写python,很多地方比较乱,主要就看看逻辑流程吧. 对于编码格式确实搞得我头大..取下来页面不知道是什么编码,所以先找c ...
- Python 抓取网页乱码问题 以及EXCEL乱码
import codecs f1=codecs.open('items.json', 'r', encoding='utf-8').read().decode("unicode_escape ...
- python多线程抓取网页信息
#!/usr/env python #-*- coding: utf-8 -*- import urllib import urllib2 import random import requ ...
- file_get_contents 抓取网页乱码。
iconv string iconv ( string $in_charset , string $out_charset , string $str ) mb_convert_encoding st ...
- python 简单抓取网页并写入excel实例
# -*- coding: UTF-8 -*- import requests from bs4 import BeautifulSoup import xlwt import time #获取第一页 ...
- (转)用python实现抓取网页、模拟登陆
涉及一系列内容,部分已在前面转载,仍转自crifan: http://www.crifan.com/how_to_use_some_language_python_csharp_to_implemen ...
- Python之抓取网页元素
import urllib.request from bs4 import BeautifulSoup url = "http://www.wal-martchina.com/walmart ...
随机推荐
- shortcut(NOIP模拟赛)(裸的排序)
原题: Description Mirek有一条每天从他家去大学工作的最喜欢的路.这个路径由若干个部分组成,且每个部分是10米长的直线.每一个部分是直线连接(没有拐弯)上一个部分或垂直连接上一个部分. ...
- UVA 10079 Pizze Cutting
题意:N条直线最多把平面分成几个部分 ans=1+(N+1)*N/2; 直线数量 1 2 3 4 …………n把平面分成的块数 2 4 7 11 1+1 1+1+2 1+1+2+3 1+1+2+3+4 ...
- (二十五)epoll深入理解续
转自:http://blog.csdn.net/yusiguyuan/article/details/15027821 在Linux的网络编程中,很长的时间都在使用select来做事件触发.在linu ...
- Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoSublime
Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言. 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go ...
- 华为上机测试题(水仙花数升级版-java)
PS:这题满分100,没有做对,大家帮忙看看问题在哪 /* * 题目:水仙花数升级版 * 描述: 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1 ...
- python搭建区块链
#!/usr/bin/env python # encoding: utf-8 ''' 我们要创建一个 Blockchain 类 ,他的构造函数创建了一个初始化的空列表(要存储我们的区块链),并且另一 ...
- windows 修改xhsell安全加密配置
由于xhsell旧版的与新版的有差别,导致新版的不能用旧版的xsh文件 1.将xshell升级到最新版本2.安装sed与grep到C:\Program Files (x86)\GnuWin323.将b ...
- 第二部分:Spring中配置mongodb
一.需要引用的jar包 1.spring-data-mongodb-1.9.4.RELEASE.jar 2.spring-data-commons-1.12.11.RELEASE.jar 3.mong ...
- hdu 1142(迪杰斯特拉+记忆化搜索)
A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- django rest framework如何实现nest field显示,如何保存有外键的字段更新
一步一步深入了. 相关设置技巧如下: 直接nest field显示: class VersionPoolSerializer(serializers.ModelSerializer): site_na ...