爬虫入门学习笔记 Day 2 + 记录遇到的小问题

一、requests模块发送post请求

1.实现方法:requests.post(url, data) data是一个字典
2.使用金山词霸网页作为例子。
输入“字典”二字,会翻译出dictionary,在检查页面的响应里面也可以看到“out”:dictionary。
在这里插入图片描述3.再使用json解析网页(json.cn)
将刚才看到的响应里面的句子粘贴到 json解析网页,‘content’里面的“out”对应的就是我们要的dictionary
在这里插入图片描述

二、post数据来源

1.固定值 抓包不变值
2.输入值 抓包比较根据自身变化值
3.预设值——静态文件 需要提前从静态html中获取
4.预设值——发请求 需要对指定地址发送请求获取数据
5.在客户端(浏览器)生成的 分析js,模拟生成数据

三、request模块——session(利用session进行状态保持)

session类能自动发送请求获取响应过程中产生的cookie,进而保持状态。

1.session的作用及应用场景

作用:自动处理cookie:下一期的请求会带上前一次的cookie
应用场景:自动处理连续的多次请求过程中产生的cookie

2.session使用方法

session = requests.session()
response = session.get(url, headers, …)
response = session.post(url, data, …)

session对象直接发送get和post请求的参数,与requests模块发送请求的参数一致。

四、数据提取——响应内容的分类

1.结构化的响应内容:找到url,在网页中直接搜索就可以拿到数据了。
(1)json数据(高频出现,数据承载量大一些):json模块、re模块、jsonpath模块
(2)xml数据:re模块、lxml模块

2.非结构化的响应内容:每篇文章结构变化(比如段落数不一样等)
(1)html(最常用):re模块、lxml模块

五、xml和html

1. xml

可扩展标记语言。
与html区别:
(1)功能专注于传输和存储数据。
(2)标签可以自行定义。

2. html

超文本标识语言。
功能:显示数据及如何更好地显示数据。

六、遇到的问题/tips

1.如何进入无痕模式
在这里插入图片描述

2.在检查页面查找Ajax数据
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_51669241/article/details/122397875