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- 分析响应
 待补充
 

##本系列内容为《python3爬虫开发实战》学习笔记。本系列博客列表以下:html

(零)学习路线python

(一)开发环境配置ajax

(二)爬虫基础后端

(三)基本库使用浏览器

(四)解析库使用服务器

(五)数据存储前后端分离

(六)Ajax数据爬取异步

(七)动态渲染页面爬取Selenium学习

持续更新...ui

对应代码请见:..