之前在想CSDN与博客园那个写作更适合自己,后来发现似乎博客园更适合自己(主要是因为他更专注于博客,使用它写博客更加自然,流畅)。我的第一个博客主题是解决python的中文乱码。
之前在想爬取平凡的世界小说的内容,忽然发现出现了中文乱码,想了好几个办法还是不行,最后求助于广大网友,找到了一个比较好的方法,与诸君共享。若有其他疑问请参考这篇博客:https://blog.csdn.net/Winterto1990/article/details/51217363。
这是我的代码:
import requestsimport chardetfrom bs4 import BeautifulSoup#爬取目标网页url='http://www.pingfandeshijie.net/di-yi-bu-01.html'#头部分不用该部分也行user_agent='Mozilla/5.0(Windows;U;WindowsNT6.1;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50'headers={ "User-Agent":user_agent}r=requests.get(url=url,headers=headers)r.encoding='gbk2312' #获取网页后这里设置编码格式gbk是繁体,gbk2313是简体 demo=r.textsoup=BeautifulSoup(demo,'html.parser',from_encoding='gbk')print(soup.find_all('p'))
代码中有两处使用到编码设置,经过检验,其实只有第一次的编码是有效的(抱歉,第一次写不会改)。代码的标注很清楚,如果有什么疑问可以给我留言,大家一起解决。