欢迎光临散文网 会员登陆 & 注册

Python个人学习笔记 requests库 requests_html库——简单数据爬取

2023-07-12 11:14 作者:ベレッタ  | 我要投稿

发送请求

数据爬取

    标签选择器

    标签应用



requests

⑴ 发送GET请求 requests.get(url)

返回一个requests.models.Response对象,可以获取状态码、状态、二进制数据等。

可以通过字典类型参数来添加请求头headers、传参数params等。

data参数可以用于发送POST请求(requests.post())。


⑵ 获取二进制数据 content


对于图片链接,保存二进制数据就可以爬取图片了。(爬DNX曲绘就是这么爬的 ^皿^)

也可以通过PIL.Image和io.BytesIO模块实现直接打开图片。


⑶ 获取HTML文本

① text

直接获取可能会出现乱码,最好先进行编码。


requests_html

支持requests库的所有功能,且还有其他新功能。

⑴ 发送请求


⑵ 生成随机请求头 requests_html.UserAgent().random


数据爬取

标签选择器

xpath选择器 xpath()

用xpath定位指定元素。返回所有匹配的标签组成的列表。

选择器常用语法:

   

示例

提取红框中的标签。



CSS选择器 find()

用CSS定位指定元素。

常用语法:

参数containing:选择包含指定文本的标签。


示例

标签应用

选择器所获取到的标签的属性:

    tag:标签名。

    text:文本内容。

    html:HTML内容,包括标签以及内部所有内容。

    xpath:xpath表达式。

    attrs:标签的所有属性以及对应的值组成的字典


通过关键字提取数据 search() / search_all()

search()只匹配第一个符合条件的内容。

返回一个列表。元素为{}中所对应的内容(按顺序排列)。

search_all()匹配所有符合条件的内容。


示例:

提取<a>标签的href、title、文本。


Python个人学习笔记 requests库 requests_html库——简单数据爬取的评论 (共 条)

分享到微博请遵守国家法律