BeautifulSoup爬取网页过程中会出现乱码

问题描述

在尝试爬取小说时,发现爬取到的正文格式是正确的,但是章节列表会出现乱码,经过仔细搜索终于解决,特此记录


运行时可以看到,文字都是乱码

源代码

      req = requests.get(url=self.target)
      bf = BeautifulSoup(req.text, 'html.parser')
      div = bf.findAll('div', class_='listmain')
      a_bf = BeautifulSoup(str(div[0]), "html.parser")
      a = a_bf.findAll('a')
      print(a[0].)

解决方案

  1. 确定当前网页的编码格式,可以在控制台中查看,在console中输入
document.charset

下图可以看出,该网页是采用GBK编码


控制台输出结果,GBK
  1. 添加代码,将编码格式设置为对应的编码格式
 req = requests.get(url=self.target)
 req.encoding = 'GBK' //将编码格式设置为网页对应的格式,在这里就是GBK
 bf = BeautifulSoup(req.text, 'html.parser')
  1. 问题解决


    增加代码后,文字显示正确
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容