微信搜索关注“程序员旅途”,查看更多
python使用requests和BeautifulSoup爬取网页乱码问题
requests和beautifulsoup模块都会自行评测原网页的编码格式,所以存在评测错误的情况,所以可以在requests爬取之后Beautifulsoup调用之前对内容进行编码(设为网页本身的编码格式)即可,例如:
网页编码为:
- #encoding=utf-8
- import requests
- from bs4 import BeautifulSoup
- html = requests.get("http://www.baidu.com/")
- html.encoding='utf-8'#去掉这句则乱码,加上则正常显示,其中utf-8是根据网页源代码中设置的编码格式来指定的
- soup = BeautifulSoup(html.text,'lxml')
- print(soup.title.text)
乱码显示:
正常显示: