① python 爬虫中文编码转换出错
importurllib
if__name__=='__main__':
enc=r"%C0%FA%CA%B7%C9%CF%C4%C7%D0%A9%C5%A3%C8%CB%C3%C7.PDF"
string=urllib.unquote(enc).decode('gb2312')
printtype(string),string
这是python2的,简单点。只能帮这么多了。
② Python+requests 爬取网站遇到中文乱码怎么办
1. 遇到的中文乱码问题
1.1 简单的开始
使用requests来拔取网站内容十分方便,一个最简单的代码段只需要2-3行代码就行。
点击(此处)折叠或打开
url='http//www.pythonscraping.com/'
req= requests.get(url)
print(req.text)
tree= html.fromstring(req.text)
print(tree.xpath("//h1[@class='title']/text()"))
点击(此处)折叠或打开
url='http://sports.sina.com.cn/g/premierleague/index.shtml'
print(tree.xpath("//span[@class='sec_blk_title']/text()"))
点击(此处)折叠或打开
print(req.headers['content-type'])
print(req.encoding)
print(req.apparent_encoding)
print(requests.utils.get_encodings_from_content(page_content.text))
点击(此处)折叠或打开
if req.encoding=='ISO-8859-1':
encodings= requests.utils.get_encodings_from_content(req.text)
if encodings:
encoding= encodings[0]
else:
encoding= req.apparent_encoding
encode_content= req.content.decode(encoding,'replace').encode('utf-8','replace')
③ python爬虫抓下来的网页,中间的中文乱码怎么解决
对于python的中文编码问题可以参考下面的帖子
http://python.jobbole.com/85482/
同时,对于网页的中文乱码,建立使用requests模块代替urllib\urllib2
requests的content方法,对中文编码,支持比较好,基本不会出现乱码。
req=requests.get(url,cookies=mecookies)
print req.content
具体用法,参见下面两个帖子,较详细:
http://blog.csdn.net/iloveyin/article/details/21444613
http://blog.csdn.net/alpha5/article/details/24964009
④ 我在写一个python的网络爬虫,写入记事本的内容都是乱码如何使写入的数据以utf8或者gb2312的码制写入。
我从自己一个utf8的爬虫程序里面摘的。
程序开头:
#!/usr/bin/envpython
#-*-coding:utf8-*-
importurllib
importurllib2
importstring
importre
importsys
type0=sys.getfilesystemencoding()#解决中文乱码问题
后面做抓取程序的时候全部加上decode和encode。
pos1=text.find(term.decode("utf-8").encode(type0))
在输入到txt的时候相应的分隔符也要decode和encode:
f.write(info+'!'.decode("utf-8").encode(type0))
希望能帮到你。
⑤ python爬虫爬到的中文乱码怎么办
爬到的内容,肯定是某种编码格式(utf-8/gb2312等)的字符串。只需要对它相应的decode一下就可以了。
比如:如果网页内容是utf-8编码的,就:'xxx'.decode('utf-8');
如果是gb2312编码的,就:'xxx'.decode('gb2312')
⑥ python编写爬虫爬到的中文字符总是乱码,r.encoding也不行
这个页面是gb2312编码的,不是utf-8