python | 爬虫笔记(六)- Ajax数据爬取
request得到和浏览器数据不同
数据加载是异步加载方式,原始页面不包含数据,加载完后会会再向服务器请求某个接口获取数据,然后数据再被处理才呈现到网页上,这其实就是发送了一个 Ajax 请求。这样Web 开发上可以做到前后端分离,而且降低服务器直接渲染页面带来的压力。
因此遇到这种情况,用requests模拟ajax请求
6.1 Ajax
1- 介绍
Ajax,全称为 Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML。是利用 JavaScript 在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。
实例:页面刷新后加载
2- 基本原理
1)发送请求
新建了 XMLHttpRequest 对象,然后调用了onreadystatechange 属性设置了监听,然后调用 open() 和 send() 方法向服务器发送了一个请求,得到服务器返回响应,并解析
2)解析内容
得到响应之后,onreadystatechange 属性对应的方法便会被触发,此时利用 xmlhttp 的 responseText 属性便可以取到响应的内容。HTML或者Json
3)渲染网页
解析完响应内容之后,就可以调用 JavaScript 来针对解析完的内容对网页进行下一步的处理了。DOM操作
原理,即需要知道请求如何发送、发往哪里,发了哪些参数
6.2 Ajax分析方法
1-查看请求
2-过滤请求
6.3 结果提取
1-分析请求
GET类型请求:type、value、containerid、page。
可以分析请求,推断出参数的规律
2- 分析响应
待补充