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

持续更新...

对应代码请见:..

 

posted @ 2018-09-28 10:57  eo_will  阅读(2783)  评论(0编辑  收藏  举报