Python乱码解码为中文
requests.get(url,headers = headers).text解码为中文
今天在使用python3爬虫时,遇到一个关于字符编码的问题,经过网上查找,终于解决了问题,下面记录下来。
1,用requests.get(url)爬取的到数据,中文显示则是乱码,如:
æä¾çå å®¹ä» ç¨äºå¦ä¹ ï¼æµè¯åå¹è®ãå®ä¾å¯è½ä¸ºäºæ´å®¹æçè§£èç®åãæä»¬ä¸ç´å¯¹æç¨ï¼åèæåï¼å¨çº¿å®ä¾ä¿æä¿®è®¢ï¼ä½æ¯æä»¬ä¸è½ä¿è¯ææå å®¹å ¨é¨æ£ç¡®ãéè¿ä½¿ç¨æ¬ç«è¿è¡å¦ä¹ éä¹èæ¥çé£é©ä¸æ¬ç«æ å ³ãå½ä½¿ç¨æ¬ç«æ¶ï¼ä»£è¡¨æ¨å·²æ¥åäºæ¬ç«çä½¿ç¨æ¡æ¬¾åé,那么,使用content.encode(‘raw_unicode_escape’).decode()就可以用print查看汉字了。
import requests
url = ‘http://www.python-china.com/'
headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36’
}
contents = requests.get(url,headers = headers).text
cn_contents = contents.encode(‘raw_unicode_escape’).decode()
print(cn_contents) # 输出了正常的中文文字
2,爬到的数据通常是bytes类型,如requests.get的content属性。这时候,我们使用str(content, ‘utf8’)就可以把\xb7\xaf\xe5\xb8\xa6\xe9\xa3\x8e这样的内容转化成汉字了。
安卓学习教程公众号


祝你事业顺心,富贵吉祥,赞赏鼓励