当前位置: 首页 > news >正文

爬虫遇到的问题与解

学习爬虫过程中遇到的一些问题

requests的content和text方法的区别

Requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等。其中返回的网页部分会存在.content和.text两个对象中。两者区别在于,content中间存的是字节码,而text中存的是Beautifulsoup根据猜测的编码方式将content内容编码成字符串。直接输出content,会发现前面存在b'这样的标志,这是字节字符串的标志,而text是',没有前面的b,对于纯ascii码,这两个可以说一模一样,对于其他的文字,需要正确编码才能正常显示。大部分情况建议使用.text,因为显示的是汉字,但有时会显示乱码,这时需要用.content.decode('utf-8'),中文常用utf-8和GBK,GB2312等。这样可以手工选择文字编码方式。所以简而言之,.text是现成的字符串,.content还要编码,但是.text不是所有时候显示都正常,这是就需要用.content进行手动编码。

re.findall提示类型不匹配的问题

外层找到后,下一步引用需要加上 str 进行转码,才不会报错

例子:

toc_block=re.findall('<h2>盗墓笔记(.*?)</div>',html,re.S)

需要转成str,否则会报类型错误的问题

toc_url=re.findall('href="(.*?)"',str(toc_block),re.S)

关于异步加载复杂json的解析

多层json,解析后,可以用re.findall查找元素

http://www.gsyq.cn/news/20837.html

相关文章:

  • LatchUtils:简化Java异步任务同步的利器
  • Agentic RAG对比传统RAG的优势
  • linux系统查看磁盘过程
  • ftp多用户多目录配置
  • 温故知新,机器人进化论,机器人分类与全球格局
  • 微信机器人框架
  • 详细介绍:Go 语言中指针介绍
  • AI元人文构想基础理论体系研究
  • DevEco Testing全面解析:HarmonyOS测试框架与实战指南 - 教程
  • 单片机使用同一硬件定时器实现多周期定时功能
  • (二十六)、Kuboard 部署网络问题 k8s 使用本地镜像 k8s使用 register本地镜像站 综合应用 - 实践
  • 从PHP到Spring Boot:思维的转变与入门实战 (指南二) - 教程
  • 微前端架构:实战指南与未来趋势 - 详解
  • Microsoft Visual C++,Microsoft Visual Studio for Office Runtime,Microsoft Visual Basic Runtime等下载
  • 实用指南:如何进行WGBS的数据挖掘——从甲基化水平到功能通路
  • python对接印度尼西亚股票数据接口文档
  • 实用指南:Python学习历程——基础语法(print打印、变量、运算)
  • Map做数据缓存
  • Python基于 Gradio 和 SQLite 开发的简单博客管理平台,承受局域网手机查看,给一个PC和手机 互联方式
  • 2025 年工业表面处理领域喷砂机厂家最新推荐排行榜,涵盖智能自动化可移动等类型设备优质厂家
  • 2025 年化妆品代工厂最新推荐排行榜:OEM/ODM/ 私人定制等服务优选企业指南
  • go-基于 Prometheus 的全方位食用手册 - fox
  • picard标记DI/DS标签
  • 2025 年南昌装修公司推荐南昌市宿然装饰工程有限公司,以专业与真诚雕琢理想空间南昌装修设计推荐指南!
  • 2025 年国内模切加工源头厂家最新推荐排行榜:聚焦 0.1mm 精度与高产能标杆,为下游企业精选优质合作商电子辅料/硅胶/薄膜/胶黏/绝缘模切加工厂家推荐
  • 直播协议详解 RTMP、HLS、HTTP-FLV、WebRTC、RTSP 的区别
  • 2025 年水下打捞公司服务推荐榜:水下打捞手机/水下打捞黄金/水下打捞戒指/水下打捞沉船/水下打捞转头,聚焦专业与高效,助力解决各类水下应急需求
  • 【光照】UnityURP渲染中的HDR
  • 在jupyter notebook中使用自己创建的conda虚拟环境的Python内核
  • Flutter顶部状态栏显示,安全区设置等,防止各种异性屏挡住应用操作栏