news 2026/6/15 17:50:08

爬虫库之 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/6/15 13:06:42

数据提取_1

1. xpath 查找 1.1 xpath介绍: 1.lxml是python的一个解析库,支持HTML和XML,支持XPath解析方式,而且解析效率非常高。 2.XPath,全称XML Path Language ,即XML路径语言,它是一门在XML文档中查找信息的语言&am…

作者头像 李华
网站建设 2026/6/15 14:15:22

GPEN降本部署案例:批量处理老照片,GPU费用节省60%方案

GPEN降本部署案例:批量处理老照片,GPU费用节省60%方案 1. 老照片修复的痛点与新解法 你有没有遇到过这种情况:家里翻出一堆泛黄的老照片,想修复却找不到靠谱又便宜的方式?传统人工精修一张图动辄几十上百元&#xff…

作者头像 李华
网站建设 2026/6/15 12:41:13

手机号快速定位QQ号的技术探险之旅

手机号快速定位QQ号的技术探险之旅 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 🎭 那些让人抓狂的现实场景 还记得那个深夜吗?你急需联系一个老朋友,却发现自己忘记了QQ密码。手机号绑定了QQ&…

作者头像 李华
网站建设 2026/6/15 13:18:56

为什么GPT-OSS启动失败?显存不足问题解决部署案例

为什么GPT-OSS启动失败?显存不足问题解决部署案例 你是否在尝试部署 GPT-OSS 模型时,遇到“启动失败”或“显存不足”的提示?尤其是当你满怀期待地准备体验 OpenAI 开源的高性能推理模型时,却被卡在第一步,确实令人沮…

作者头像 李华
网站建设 2026/6/15 9:29:24

SGLang vs 传统推理框架:吞吐量对比实测报告

SGLang vs 传统推理框架:吞吐量对比实测报告 在大模型部署日益普及的今天,推理效率直接决定了应用能否落地。我们常常面临这样的问题:明明模型能力足够强,但一到真实场景就卡顿、延迟高、吞吐低,用户体验大打折扣。尤…

作者头像 李华
网站建设 2026/6/15 10:29:08

语音情感识别用于智能座舱?Emotion2Vec+车载应用设想

语音情感识别用于智能座舱?Emotion2Vec车载应用设想 在智能汽车快速发展的今天,座舱不再只是一个驾驶空间,而是逐渐演变为一个“会感知、能思考、有温度”的智能交互环境。如何让汽车真正理解驾驶员的情绪状态,成为提升驾乘体验的…

作者头像 李华