爬虫遇到的问题与解

news/2025/10/14 14:13:37/文章来源:https://www.cnblogs.com/lautianen/p/19116699

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

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.mzph.cn/news/936813.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试框架选型指南:数据驱动、关键字驱动还是混合模式?

做自动化测试的同学,大概率都踩过 “框架选错” 的坑:明明花了几周搭好框架,落地时却发现用例维护比手动测试还麻烦;或者写好的脚本,换个测试场景就得大改,完全没起到 “自动化” 的作用。做自动化测试的同学,大…

直播软件搭建避坑!从直播源码选型到运维,3步搞定上线+降本60%

在数字化浪潮的推动下,直播行业早已不再是少数巨头的游戏。无论是教育机构、电商品牌、社交平台还是企业内训,拥有一个自主可控的直播平台,都成为了赋能业务、连接用户的重要战略。许多有远见的决策者正将目光投向“…

LatchUtils:简化Java异步任务同步的利器

转自https://mp.weixin.qq.com/s/p1nwmRl6-dyThqJ6StxC-A在Java应用开发中,为了提升系统性能和响应速度,我们经常需要将一些耗时操作(如调用外部API、查询数据库、复杂计算等)进行异步并行处理。当主流程需要等待所…

Qoder + ADB Supabase :5分钟GET超火AI手办生图APP

视频效果:一、前言 在AI原生应用开发的时代,传统的后端架构正在被重新定义。本文将带你体验如何使用 Qoder、阿里云ADB Supabase 和通义千问图像编辑模型(Qwen Image Edit),快速搭建一个完整的 AI 手办生图 Flutt…

实验报告2

实验1 问题1:srand(time(NULL))设置时间为随机种,保证每次随机数都不一样 问题2:在两个班中随机抽五个学号实验2 问题1:每次循环总价不清空,导致后面询问时数据出错 问题2:结束这一轮循环,跳过后面的语句;实验3 #inclu…

Agentic RAG对比传统RAG的优势

Agentic RAG 是传统检索增强生成(RAG)技术与AI智能体(Agent)自主能力相结合的一种进阶范式。它让RAG系统从一个遵循固定流程的“信息助手”,升级成了一个具备“大脑”、能够自主规划、决策并与多种工具交互的“智…

linux系统查看磁盘过程

1.查看磁盘信息:df -h2.查看一级文件信息:du -hd 13.查看数量前十的文件:du -a | sort -nr | head -n 104.ubuntu EasyConnect清除路由才能连本地其他的地址 route | grep 192.168.1. | grep tun1 |awk {print &quo…

2025-10-14 闲话

2025-10-14 闲话今天 yspm 21 岁了。 过去一年是超预期的,很难想象今年不是窝在宿舍床上编辑这段话。集体生活的挣扎在一天一顿大融城中彻底转变了形态。 时间过得很快,20岁不会再回来,野蛮荒唐不会再回来。但是耳畔…

ftp多用户多目录配置

ftp多用户多目录配置 测试环境:centos7 1. 装包与卸载yum -y install vsftpd yum -y autoremove vsftpd&&rm -rf /etc/vsftpd /etc/pam.d/vsftpd.rpmsave2. 用户清单配置 不要去动user_list和ftpusers文件,这…

芋道框架怎么样

最近工作中使用了一个java的后端框架叫做 芋道简单说一下我对他的理解和认识吧1.完美的前后端代码自动生成 2.完美的组件集成,包括工作流,ai,自动任务,文件管理器,mq等等缺点: 1.这个框架会挑选你的笔记本,如果…

神级掩护软件!老板路过我电脑在“系统更新中”

软件介绍 一键“假装电脑崩溃”神器来袭! 无论是蓝屏死机、FBI警告、系统更新卡死、还是无限重启,这款小巧的恶搞模拟器都能以假乱真地还原现场,让你轻松度过那些“不想被打扰”的时刻。 体积仅 7MB,却集成了多种经…

超真实“电脑崩溃模拟器”:蓝屏、重启、FBI警告一应俱全!

软件介绍 一键“假装电脑崩溃”神器来袭! 无论是蓝屏死机、FBI警告、系统更新卡死、还是无限重启,这款小巧的恶搞模拟器都能以假乱真地还原现场,让你轻松度过那些“不想被打扰”的时刻。 体积仅 7MB,却集成了多种经…

(20)ASP.NET Core2.2 EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性) - 指南

(20)ASP.NET Core2.2 EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

(在构造函数中)调用super(props)的目的是什么?

在 React 类组件 中,constructor 构造函数里调用 super(props) 是一个非常经典的机制, 一、基本背景 在 React 中,我们定义类组件时通常这样写: class MyComponent extends React.Component {constructor(props) {…

温故知新,机器人进化论,机器人分类与全球格局

机器人基本概念与范畴 “机器人”是一个比较宽泛的概念,不同文献和标准下的定义稍有差异。一般来说,机器人是能感知环境、作出决策或规划、并作用于环境的机械系统(带有驱动、传感、控制、算法等)的一类设备。 在工…

Zemax:初学者的混合模式 - 指南

Zemax:初学者的混合模式 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

【无标题】使用 Playwright 实现跨 Chromium、Firefox、WebKit 浏览器自动化管理

【无标题】使用 Playwright 实现跨 Chromium、Firefox、WebKit 浏览器自动化管理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-…

西门子博图软件TIA V18使用PLCSIM Advanced V5.0进行仿真与其他程序进行通讯

由于标准版PLCSIM只是PLC内部通讯用,若要与外部进行通讯,需要安装Advanced版本,TIA V18的兼容advanced版本需要在V5.0以上,这里使用了V5.0版本。 PLCSIM Advanced V5.0安装过程中可能会有兼容性之类的报错 发生该…

MyEclipse 2017/2018 安装与破解 图文教程

SSM 框架-02-MyEclipse 2017/2018 安装与破解 现在在学J2EE,然后使用的工具就是 MyEclipse,现在就抛弃 Eclipse 了,我就不多说它俩的区别了,但是 MyEclipse 是收费的,下面介绍 MyEclipse 2017 安装与破解 一、下载…

面向对象初级

面向对象初级:1.面向对象三大特征:封装  继承   多态    self含义:  指向实例对象本身,让实例能够访问类中的属性和方法2.类和对象的创建:    类和对象的创建(登录注册功能) class User:def __in…