第6章 Ajax数据爬取

有些网页可以正常看到,但requests得到的页面却不一样。因为requests得到原始html文档,然而有些内容(比如Ajax)通过浏览器展示的是经过JavaScript处理数据后生成的结果。数据来源无非有下面几种:Ajax加载、包含在html文档内、经过JavaScript渲染。requests获得的就是包含在html文档内的,倘若遇到页面内容是经过JavaScript处理的结果呢?那么就需要引入Ajax。

数据加载时一种异步加载方式,原始页面最初不会包含某些数据,原始页面加载完后,通过用户的操作,会再向服务器请求某个接口获取数据,然后数据才被处理从而展示到网页上,这个过程就是发送了一个Ajax请求。

Ajax---异步的JavaScript和XML,利用JavaScript在保证页面不被刷新、页面链接不改变情况下与服务器交换数据并更新部分网页的技术。发送Ajax请求到网页更新的过程:1、发送请求;2、解析内容;3、渲染网页

1、发送请求

Ajax也是由JavaScript实现的,执行了如下过程:

  1. 新建XMLHttpRequest对象
  2. 调用onreadystatechange属性设置监听
  3. 然后调用open()和send()方法向某个链接(通常是服务器)发送请求
  4. 一旦监听到服务器返回响应时,onreadystatechange对应的方法被触发,该方法内解析响应内容

2、解析内容

得到响应,相应方法被触发,可利用xmlhttp的responseText属性得到响应的内容。

返回的内容或HTML、JSON,需

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值