Python3爬虫开发笔记第五章Ajax数据爬取
什么是Ajax
Ajax,全称为 Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML。它不是一门编程语言,而是利用 JavaScript 在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。
发送 Ajax 请求到网页更新的这个过程可以简单分为以下 3 步:
- 发送请求
- 解析内容
- 渲染网页
发送请求
var xmlhttp; |
新建了 XMLHttpRequest 对象,然后调用 onreadystatechange 属性设置了监听,然后调用 open() 和 send() 方法向某个链接(也就是服务器)发送了请求。由于设置了监听,所以当服务器返回响应时,onreadystatechange 对应的方法便会被触发,然后在这个方法里面解析响应内容即可。
解析内容
得到响应之后,onreadystatechange 属性对应的方法便会被触发,此时利用 xmlhttp 的 responseText 属性便可取到响应内容。
渲染网页
解析完响应内容之后,可以调用 JavaScript 来针对解析完的内容对网页进行下一步处理。比如,通过 document.getElementById().innerHTML 这样的操作,便可以对某个元素内的源代码进行更改,这样网页显示的内容就改变了
上例中,document.getElementById("myDiv").innerHTML=xmlhttp.responseText
便将 ID 为 myDiv 的节点内部的 HTML 代码更改为服务器返回的内容,这样 myDiv 元素内部便会呈现出服务器返回的新数据,网页的部分内容看上去就更新了。
Ajax结果提取
from urllib.parse import urlencode |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 MikannseのSekai!
评论
ValineDisqus