python中文乱码问题 您所在的位置:网站首页 能玩vr的网吧 python中文乱码问题

python中文乱码问题

2023-06-11 06:44| 来源: 网络整理| 查看: 265

在爬取http://www.ttz5.com产品信息时,request返回的信息在print的时候出现了乱码。

['ã\x80\x90è¶\x85å\x80¼1000gã\x80\x91æ³\x93ä¸\x80å·§å\x85\x8bå\x8a\x9bæ¶\x82å±\x82夹å¿\x83è\x9b\x8bç³\x95'] ['è\x88\x9eå\x8a¨å\x90§ç½\x91红å¸\x83ä¸\x81125g*6æ\x9d¯ç¤¼ç\x9b\x92è£\x85'] ['å±±é\x87\x8eé\x87\x8c ç½\x91红è\x84±æ°´é»\x84ç§\x8bè\x91µå¹²æ°´æ\x9e\x9cå¹²'] ['ã\x80\x90沧å®\x8fã\x80\x91é\x85¥è\x84\x86ç\x81°æ\x9e£500gç\x8b¬ç«\x8bå\x8c\x85è£\x85'] ['äº\x94è´¤æ\x96\x8bæ\x89\x8bæ\x92\x95ç´\xa0è\x82\x89ä¼\x91é\x97²é\x9b¶é£\x9f'] ['ã\x80\x90ç\x8b\x82趣ã\x80\x91100g奶油å\x91³å¾®æ³¢ç\x82\x89ç\x88\x86ç±³è\x8a±'] ['ç\x88±ç»´å°\x94å\x87¤æ¢¨é\x85¥ç\x9b\x92è£\x85å\x8a\x9eå\x85¬å®¤ä¼\x91é\x97²é\x9b¶é£\x9f'] ['æ\x97\xadå¥\x87å¹´è´§è\x91µè\x8a±ç±½ç\x84¦ç³\x96ç\x93\x9cå\xad\x90500g'] ['ã\x80\x90è\x81ªå¸\x88å\x82\x85ã\x80\x91å\x86°ç\x9a®éº»è\x96¯å¤¹å¿\x83è\x9b\x8bç³\x95500g'] ['满100ç«\x8bå\x87\x8f40è\x94\x93è¶\x8aè\x8e\x93å¹²ç\x83\x98ç\x84\x99å\x8e\x9fæ\x96\x99'] ['ã\x80\x90ç\x9b\x8aç\x94\x9fé\x9a\x8fã\x80\x91å¤\x9aå\x8f£å\x91³è±\x86è\x85\x90å¹²2æ\x96¤è£\x85'] ['è\x8a±å°\x8fç\x94\x9fè\x8a±ç\x94\x9fé\x85¥ç³\x96æ\x89\x8bå·¥æ\x95£è£\x85å®\x89å¾½ç\x89¹äº§ä¼\x91é\x97²é\x9b¶é£\x9f']

解决办法: 1、可以在request语句后面插入print(r.encoding)检查返回的数据格式是什么,如这个网站返回的数据就为:ISO-8859-1。搜索了一下相关的说明,发现 requests 只会简单地从服务器返回的响应头的 Content-Type 去获取编码,如果有 Charset 才能正确识别编码,否则就使用默认的 ISO-8859-1。 requests 内部的 utils 提供了一个从返回 body 获取页面编码的函数,get_encodings_from_content,这样如果服务器返回的头不含 Charset,再通过 get_encodings_from_content 就可以知道页面的正确编码了。

r = requests.get(link,headers=headers) print(r.encoding) #可以看到返回的编码方式 r = r.text.encode('ISO-8859-1').decode(requests.utils.get_encodings_from_content(r.text)[0])

得到的结果:

(['【超值1000g】泓一巧克力涂层夹心蛋糕'], ['29.9'], ['39.9'], ['10']) (['舞动吧网红布丁125g*6杯礼盒装'], ['16.8'], ['36.8'], ['20']) (['山野里 网红脱水黄秋葵干水果干'], ['13.8'], ['18.8'], ['5']) (['五贤斋手撕素肉休闲零食'], ['16.8'], ['19.8'], ['3']) (['【沧宏】酥脆灰枣500g独立包装'], ['19.8'], ['22.8'], ['3'])


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有