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爬虫开发实战》学习笔记。本系列博客列表如下:

(零)学习路线

(一)开发环境配置

(二)爬虫基础

(三)基本库使用

(四)解析库使用

(五)数据存储

(六)Ajax数据爬取

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

持续更新...

对应代码请见:..