python爬虫学习44
目录
-
- python爬虫学习44
-
- Ajax数据爬取
-
- 1. 什么是Ajax
- 2.分析Ajax
Ajax数据爬取
有时我们使用request抓取页面时,经常出现我们获取到的内容和我们在浏览去实际看到的内容不一致的情况,这是由于我们通过requests得到的结果都是原始的HTML文档,而浏览器的页面是经过JavaScript数据处理之后的结果,这些数据有多种来源:
- 通过Ajax加载
- 包含在HTML文档中
- 经过JavaScript和特定算法处理后生成
在这种情况下,直接使用requests等库进行数据抓取就无法获得我们想要的数据。就需要我们分析网页的后台向接口发送Ajax请求。
1. 什么是Ajax Ajax,全称Asynchronous JavaScript and XML(异步的JavaScript 和 XML),这是一种利用JavaScript在保证页面不被刷新、页面链接不改变的前提下与服务器交换数据并更新部分网页数据的技术。
例如,我们在网页上浏览微博时,向下浏览的时候会出现,下滑出现更多的选项,当我们下滑进行浏览时,此时网页没有变化,但是页面上却出现了新的内容,这就是一种Ajax加载的过程。
2.分析Ajax 进入微博后按下F12键,打开开发者页面,进行检阅:
可以看许多条请求,找到类型为xhr的请求,即为一条Ajax请求
文章图片
首先找到一个Ajax类型的请求,查看其详细信息
文章图片
可以看到最后一行,一个x-requested-with: XMLHttpRequest标记
preview标签中存储了响应的内容:
文章图片
response标签,储存了法务其返回的原始数据:
文章图片
正是通过这些返回的内容,从而实现了网页的渲染,让我们看到了我们现在看到的网页的样子。
今日结束,明日继续。。。
推荐阅读
- web开发|问题与解决(用 jQuery Ajax 发送请求,后端获取 session 为空)
- 前端|ajax 和 axios、fetch的区别
- javaScript|AJAX基础使用
- 大三学弟的学习面试经验,他很成熟
- #yyds干货盘点#?Crontab学习简单用例
- 第四周学习作业
- 单片机|单片机的串口实验 串口介绍 串口原理
- 第三周学习作业
- 数据结构|数据结构学习——队列(链队列、循环队列)