用 raise_for_status() 函数解决 python 乱码问题
最近因为工作需要,写了一个爬虫提取网站title数据。用来分析用户作品的标题都包含些那些关键字。
但是不太顺利,又遇到以前经常会遇到的问题,编码问题。后来通过请教一些同事,终于解决了。
原代码:
1 import requests 2 from bs4 import BeautifulSoup 3 4 r = requests.get("http://www.baidu.com") 5 soup = BeautifulSoup(r.text,"html.parser") 6 7 print(soup.title)
但是不知道出于什么原因,这段代码在同事电脑上运行良好,但是在我的电脑上运行 就会出现乱码。
然后又去请教,只要再补充上这段代码就可以完美运行了。
1 import requests 2 from bs4 import BeautifulSoup 3 4 r = requests.get("http://www.baidu.com") 5 r.raise_for_status() 6 r.encoding = r.apparent_encoding 7 soup = BeautifulSoup(r.text,"html.parser") 8 9 print(soup.title)