用 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)

 

posted @ 2018-04-02 21:02  小小小智  阅读(2872)  评论(0编辑  收藏  举报