当前位置:   article > 正文

Python爬取中文内容时乱码怎么办_为什么正则表达式爬取的数据是乱码

为什么正则表达式爬取的数据是乱码

Python爬取中文内容时乱码怎么办

使用Python爬虫爬取一些中文网页的内容时,有时会出现爬取内容为乱码的情况,不管是采用正则表达式还是采用xpath提取内容,结果都一样为乱码,遇到这种问题怎么办?

源程序代码如下:
import requests
from lxml import etree
headers={‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36’}
url=‘http://www.doupoxs.com/doupocangqiong/1.html’
res=requests.get(url,headers=headers)
tree=etree.HTML(res.text)
title=tree.xpath(’//div[@class=“entry-tit”]/h1/text()’)
print(title)

该爬虫程序没有错误,但打印出来的title内容为乱码。尝试过多种解决方法后,终于解决了此问题。
现总结如下几点,供遇到相关问题的同学参考:
1、出现这种乱码问题,可以肯定是由于编码问题引起的;
2、网上和某些专业书上提到的在文件开头添加编码格式注释的解决办法无效;
3、成功有效的解决方案是:将通过requests.get得到的网页源代码指定为utf-8的编码格式。具体做法:在语句res=requests.get(url,headers=headers)后面添加一句:res.encoding=‘utf-8’。然后再进行解析和提取就没有问题了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/573252
推荐阅读
相关标签
  

闽ICP备14008679号