叨叨的猫 2021-03-04 22:14 采纳率: 100%
浏览 58
已采纳

pythom 中文显示乱码?

#需求:获取三国演义小说所有的章节标题和章节内容
#地址:https://www.shicimingju.com/book/sanguoyanyi.html


import lxml
import requests
from bs4 import BeautifulSoup

if __name__ == "__main__":
    url = 'https://www.shicimingju.com/book/sanguoyanyi.html'
    headers = {
        'User-Agent': 'Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 88.0.4324.182 Safari / 537.36 Edg /88.0.705.81'
    }
    page_text = requests.get(url,headers=headers).text
    print(page_text)

到这里爬取到的网页中文显示是乱码
原网页编码显示为‘UTF-8’,
尝试用page_text.encoding = "utf-8",但是就直接报错


   用 print(type(page_text)),查看显示数据类型为str 。
  • 写回答

1条回答 默认 最新

  • 多鱼的夏天 2021-03-04 23:09
    关注
    page_text是返回的text,没有encoding属性

    两种方法解决编码问题

    方法一

    url='https://www.shicimingju.com/book/sanguoyanyi.html'
    r = requests.get(url)
    html=r.content
    html_doc=str(html,'utf-8') 

    方法二

    url='https://www.shicimingju.com/book/sanguoyanyi.html'
    r=requests.get(url)
    r.encoding='utf-8'
    print(r.text)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用