ajax抓取网页内容(【Python之Ajax数据爬取】照Web发展的趋势)
优采云 发布时间: 2021-12-27 04:21ajax抓取网页内容(【Python之Ajax数据爬取】照Web发展的趋势)
Python 的 Ajax 数据爬网介绍
有时我们使用requests获取网页时,得到的结果可能与浏览器中看到的不同:在浏览器中可以看到正常显示的页面数据,但是使用requests获取的结果却看不到。
这是因为请求获取的数据都是原创
HTML文档,浏览器中的页面是JavaScript处理数据后生成的结果。这些数据的来源有很多,可能是通过Ajax加载的,也可能是收录
在HTML文档中,也可能是通过JavaScript和特定算法计算后生成的。
对于第一种情况,数据加载是一种异步加载方式。原创
页面最初不会收录
一些数据。原创
页面加载完毕后,会请求一个接口,从服务器获取数据,然后将数据进行处理,呈现在网页上,这其实就是一个ajax请求。
根据Web的发展趋势,这种形式的页面越来越多。网页的原创
HTML 文档不收录
任何数据。数据通过Ajax统一加载后呈现,使得Web开发中的左前后端分离,减少了服务器直接渲染页面的压力。
所以如果遇到这样的页面,可以直接使用requests等库来抓取原创
网页,无法获取有效数据。这时候就需要从网页后台分析发送到界面的Ajax请求。如果可以使用requests来模拟ajax请求,那么就可以爬取成功。
什么是阿贾克斯?
Ajax,全称Asynchronous JavaScript and XML,即异步JavaScript和XML。它不是一种编程语言,而是一种使用 JavaScript 与服务器交换数据并更新部分网页的技术,同时确保页面不会被刷新,页面链接不会发生变化。
对于传统网页,如果要更新其内容,必须刷新整个页面,而使用Ajax,可以在不刷新页面的情况下更新其内容。在这个过程中,页面实际上是在后台与服务器进行交互。获取到数据后,通过JavaScript来改变网页,从而更新网页的内容。
1.实例介绍
在浏览网页时,我们会发现很多网页都有向下滚动查看更多选项。比如下面这个腾讯新闻网站一直在下降,可以发现,下降了几个新闻之后,就不再下线了。相反,将出现加载*敏*感*词*。一段时间后,新的新闻内容将继续出现在下方。这个过程其实就是Ajax加载的过程。
我们注意到页面没有完全刷新,这意味着页面上的链接没有改变,但页面上有更多的新内容,也就是后来发布的新消息。这是获取新数据并通过 Ajax 呈现的过程。
2.基本原则
初步了解了 Ajax 之后,我们再来了解一下它的基本原理。向网页更新发送ajax请求的过程可以简单分为以下3个步骤:
(1) 发送请求;
(2)分析内容;
(3) 渲染网页。