requests_html模块
requests_html 模块介绍
1. requests_html是比较新的爬虫库,作者和requests是同一个作者;
2. 我们可以在安装的时候看到他安装了lxml、requests、bs4 ......等我们常用的解析和爬取的库都封装在他里面;
3. 用法和requests.session实例化的对象用法一模一样,也会自动保存返回信息;
4. 相比requests, 他多了对于response.html这个属性;
注意点:默认是带了有UA的,无序额外添加。
requests_html 与 requests的区别
from request_html import HTMLSession import requests session = HTMLSession() # 实例化 url = "https://baidu.com" # 用百度来做实例 response1 = session.get(url) # requests_html 查看请求头, 获取的文本长度、编码 print(response1.request.headers, len(response1.text), response2.encoding) # requests_heml查看请求头, 获取的文本长度, 编码 response2 = requests.get(url) print(response2.request.headers, len(response2.text), response.encoding)
使用requests_html解析摄图网
from requests_html import HTMLSession session = HTMLSession() response = session.get(url="https://669pic.com/tupian/143555.heml") # print(response.html.links) # print(response.html.absolute_links) # 获取页面中所有的链接 自动将url转换为绝对路径形式 # print(response.html.xpath("//div[@class='list']/a/@title"): for i in response.html.xpath('//dic[@class="list"]/a/@title'): print(i)
json模块
结构化数据: json、xml等;处理方式:直接转化为python类型
非结构化数据:html;处理方式:正则表达式、xpath、选择器
JSON: 以一种特定的字符串形式来表示JavaScript对象。 如果将具有这样一种形式的字符串赋给任意一个JavaSript变量,那么该变量会变成一个对象引用,而这个对象就是字符串所构建出来的;
XML: 标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。 它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据;
HTML:是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、连接等。
json使用
dump:可以将dict类型转换成str,并写入到json文件中;
dumps:可以格式化所有的基本数据类型为字符串;
loads:将str类型转换成dict;
load:从json文件中读取数据;
不管是dump还是load,带s的都是和字符串相关的,不带s的都是坏人文件相关的。
1. json.dumps 将Python对象编码成JSON字符串,严格按照JSON格式进行转换 pythonDict-->jsonStr
2. json.loads 将已编码的JSON字符串解码为Python对象jsonStr-->pythonDict
3. json.dump和json.load 需要传入文件描述符,加上文件操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理