① 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