news 2026/4/28 6:11:22

爬虫库之 requests_html,json

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
爬虫库之 requests_html,json

1. xpinyin 模块

定义:将汉字转换为拼音的的第三方库:xpinyin

安装:

pip install xpinyin

导包:

fromxpinyinimportPinyin

案例:

1.

#导入xpinyin模块fromxpinyinimportPinyin#调用Pinyin类py=Pinyin()#get_pinyin 获取中文拼音 默认分隔符 -print(py.get_pinyin("凤凌"," "))#tone_marks="marks" 带音标的拼音print(py.get_pinyin("凤凌"," ",tone_marks="maks"))print(py.get_initial("凌"))print(py.get_initials("凤凌"))

2.

fromxpinyinimportPinyinimportrequests py=Pinyin()headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'}word='美女'#获取请求网址url=f'https://699pic.com/tupian/{py.get_pinyin(word,"")}.html'print(url)withopen(f"{word}.html","w",encoding="utf8")asf:f.write(requests.get(url,headers=headers).text)

3.获取同音汉字

fromxpinyinimportPinyinimportrequests py=Pinyin()headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'}words=["星星","猩猩"]forwordinwords:#获取中文对应的Idpinyin_id_url=f'https://699pic.com/search/getKwInfo?kw={word}'response=requests.get(pinyin_id_url,headers=headers)print(response.json())#字符串转换成字典数据pinyin_id=response.json().get('data').get('pinyin')#获取请求网址url=f'https://699pic.com/tupian/{py.get_pinyin(word,"")}.html'print(url)withopen(f"{word}.html","w",encoding="utf8")asf:f.write(requests.get(url,headers=headers).text)

2.requests_html模块

2.1 requests_html模块介绍:
  • requests_html是比较新的爬虫库,作者和requests是同一个作者
  • 我们可以在安装的时候看到他安装了lxml,requests,bs4…我们常用的解析和爬取的库都封装在他里面
  • 用法和requests.session实例化的对象用法一模一样,也会自动保存返回信息
  • 相比requests,他多了对于response.html这个属性
  • 注意点:默认是带了有UA的,无需额外添加
2.2 requests_html于requests的区别:
importrequestsimportrequests_html session=requests.session()# requests_htmlhtml_session=requests_html.HTMLSession()url="http://httpbin.org/get"response=session.get(url)print(response.text)#区别一:提交给服务器的user-Agent伪装成浏览器的user-Agenthtml_response=html_session.get(url)print(html_response.text)#requests_html 模块中 默认Ahtml_response=html_session.get(url)print(html_response.text)#区别二:为response响应增加了属性名为html对象属性baidu_url="https://www.baidu.com"response1=session.get(baidu_url)html_response1=html_session.get(baidu_url)html=html_response1.htmlprint(html,type(html))

3. json 模块

3.1 爬虫中的数据分类:

结构化数据:json,xml等

​ 处理方式:直接转化为python类型

非结构化数据:html

​ 处理方式:正则表达式,xpath,选择器

JSON:全称JavaScript Object Notation,即JavaScript对象标记法,这种数据格式的语法规则是参考JavaScript对象,但是他能被很多语言去使用,是前后端进行交互的一种非常常见的格式,不同语言都有处理JSON格式的数据方法,而在python当初处理JSON则是使用json模块。

**XML:**全称EXtensible Markup Language,即可扩展标记语言,XML是一种标记语言,跟HTML类似,但是XML中的所有标签都没有含义,需要自行去定义标签,XML被设计出来是为了传输数据使用的。在JSON格式出现前,XML也是一种万维网中传输数据使用的最为广泛的一种,但是JSON格式出现后,JSON格式相对于XML的比重反而更多,XML更多是作为配置文件使用。

**HTML:**全称HyperText Markup Language,即超文本标记语言,我们见到的网页数据都是放在各种HTML标签里面的,通过一些解析库,可以从HTML标签获取到我们想要的数据。

3.2 案例:

importjson#load:从文件中读取json字符串,转换成python字典print("\n load:从文件中读取json字符串,转换成python字典")withopen("info.json","r",encoding="utf8")asrf:data=json.load(rf)print(data,type(data))#loads:将json字符串转换成python字典print("\n 将json字符串转换成python字典")json_data='{"name":"ls","age":28}'dict_data=json.loads(json_data)print(dict_data,type(dict_data))#dump:将python字典转换成json的字符串,并且写入到文件中print("\n,dump:将python字典转换成json的字符串,并且写入到文件中")dict_data={"name":"碎花","age":18}withopen("info.json","w",encoding="utf8")aswf:json.dump(dict_data,wf,ensure_ascii=False)#dumps:将python字典转换成json字符串print("\n dumps:将python字典转换成json字符串")json_str=json.dumps(dict_data,ensure_ascii=False)print(json_str,type(json_str))
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 6:11:21

GPT-OSS如何持续推理?WEBUI会话管理实战教程

GPT-OSS如何持续推理?WEBUI会话管理实战教程 你是否在使用GPT-OSS这类大模型时,遇到过对话中断、上下文丢失、无法连续多轮交互的问题?尤其是在部署了像 gpt-oss-20b-WEBUI 这样的大型开源模型后,明明配置了高性能显卡&#xff0…

作者头像 李华
网站建设 2026/4/23 11:11:13

Switch系统注入全攻略:5个步骤掌握TegraRcmGUI图形化工具

Switch系统注入全攻略:5个步骤掌握TegraRcmGUI图形化工具 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI作为一款专为Nintendo Swit…

作者头像 李华
网站建设 2026/4/24 11:43:14

Shell编程实例来入门【20260121】简洁、优雅版

文章目录 实例1:基础输出与变量定义 实例2:读取用户输入 实例3:文件类型判断 实例4:for循环遍历数组 实例5:while循环与数值运算 实例6:函数定义与调用 实例7:处理命令行参数 实例8:文本处理(grep+awk) 实例9:错误处理与退出码 实例10:批量重命名文件(实用工具) …

作者头像 李华
网站建设 2026/4/20 7:49:35

Shell编程实例来入门【20260121】简洁、优雅版-实例扩容版v2-侧重系统管理

文章目录 模块1:CPU管理与监控(5例) 例1-1:查看CPU核心数与负载(基础) 例1-2:监控CPU使用率(简易版) 例1-3:按CPU使用率排序进程(TOP10) 例1-4:查看CPU温度(需lm-sensors) 例1-5:限制进程CPU使用率(cpulimit) 模块2:内存管理与监控(5例) 例2-1:查看内存使…

作者头像 李华
网站建设 2026/4/24 1:33:10

网盘直链下载终极指南:5分钟解锁全平台高速下载新体验

网盘直链下载终极指南:5分钟解锁全平台高速下载新体验 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广&…

作者头像 李华
网站建设 2026/4/27 6:05:58

YOLOv10官方镜像更新日志:新功能使用说明

YOLOv10官方镜像更新日志:新功能使用说明 1. 引言:YOLOv10 镜像为何值得关注 如果你正在寻找一个开箱即用、无需繁琐配置的目标检测解决方案,那么 YOLOv10 官版镜像 就是你需要的工具。这个预构建环境不仅集成了最新的 YOLOv10 模型架构&am…

作者头像 李华