ajax抓取网页内容(【Ajax】Ajax请求的请求和请求的原理是什么? )

优采云 发布时间: 2021-11-12 20:18

  ajax抓取网页内容(【Ajax】Ajax请求的请求和请求的原理是什么?

)

  阿贾克斯介绍:

  有时我们使用Requests抓取页面时,结果可能与我们在浏览器中看到的不一样。可以看到浏览器正常显示的页面数据,但是得到的响应并没有对应的响应。内容。

  这样做的原因是Requests获取的是原创HTML文档,浏览器中的页面是页面经过JavaScript处理后生成的结果。这些数据的来源有很多:

  今天我们将讨论Ajax加载类型的网页数据。

  阿贾克斯的概念

  Ajax,全称是Asynchronous JavaScript and XML,即异步JavaScript和XML。对于 Ajax 渲染的页面,数据加载是一种异步加载方式。原创页面最初不会收录某些数据。原创页面加载完毕后,会向服务器请求一个接口来获取数据,然后将数据进行处理后才呈现在网页上,这实际上就是发送一个ajax请求。

  这就是为什么我们不能直接使用 requests 来请求页面的实际内容。

  这时候需要做的就是分析网页后台向界面发送的Ajax请求,然后用Requests模拟Ajax请求,就可以成功捕获了。

  

  了解了ajax的原理后,一切都变得有点头绪了~

  阿贾克斯观察

  对于 Ajax 请求,我们已经在现实生活中遇到过。我来形容你知道:“当你在浏览网页或APP的时候,当你把进度条拉到最下面的时候,你会看到进度条突然跳到中间,下面出现新的内容”

  其实这就是Ajax的使用。

  今天,我们用微博作为爬取对象。

  网址 = ""

  浏览器发起请求

  老规矩,进入开发者模式。然后在Network下,点击XHR进行过滤(只过滤掉Ajax请求的请求响应消息)

  我们先看第一个入口信息,观察它的Response

  

  于是我们进行了测试,将进度条拖到底部,发现浏览器和服务器暗中进行了消息交互,效果如下:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线