多语言展示
当前在线:1878今日阅读:19今日分享:20

爬虫软件教程—AJAX点击和翻页类型网页采集方法

定义:AJAX即延时加载、异步更新的一种脚本技术,通过在后台与服务器进行少量数据交换,可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
方法/步骤
1

定义:AJAX即延时加载、异步更新的一种脚本技术,通过在后台与服务器进行少量数据交换,可以在不重新加载整个网页的情况下,对网页的某部分进行更新。表现特征:1.点击网页中某个选项时,大部分网站的网址不会改变;2.网页不是完全加载,只是局部进行了数据加载,有所变化。如何验证:点击操作后,在浏览器中,网址输入栏不会出现加载中的状态或者转圈状态。

2

适用情况:1.所有点击之后加载出现新内容而网页链接不变的内容。2.小部分点击后网页链接改变,但是采集后卡在某一步骤上的情况。3.网页加载过慢,可以使用AJAX来超时结束操作。 AJAX点击示例:步骤1:新建自定义任务并打开网页→点击刷新元素并选择点击该链接

3

步骤2:采集评论内容与刷新元素文本→保存并启动

4

说明:示例中可见我们打开的是新浪微博的网页,进入循环后先点击了页面右侧的刷新,之后采集微博内容,本地采集中点击刷新后采集不到数据,说明采集步骤在提取数据步骤持续等待,此时应当在点击刷新步骤设置AJAX。

5

返回在刷新步骤设置了AJAX,时间设定为2秒,进入本地采集界面,运行到刷新步骤,因为设定了AJAX,2秒后自动进入下一步,可以采集到数据。本示例中点击刷新按键后,网页网址无变化,说明该按键使用了AJAX方法。八爪鱼采集器默认一个步骤点击后,页面重新加载,加载完成后再进行下一步骤;而AJAX方法造成点击后页面不会重新加载,所以使用AJAX后的时间来设置点击后的等待。示例中第一次采集不到数据是因为八爪鱼在刷新步骤持续等待,不进入下一步造成,设置了AJAX后,八爪鱼在刷新步骤等待2秒后自动进入下一步骤,得以采集到数据。 AJAX翻页:

6

说明:示例中第一个打开网页已经设置了页面加载完成后向下滚动,示例网页必须向下滚动2次才会出现翻页操作,向下滚动可以查看AJAX滚动教程;第二个点击元素为点击页面最下方 查看更多 按键,点击查看更多可以发现网页网址不发生改变,说明应用了AJAX方法,启动任务后本地采集提取不了数据,任务在这一步持续等待,无法进行到下一步。

7

返回流程图修改该步骤,添加AJAX设置后,第2次运行本地采集,发现可以顺利采集到数据。AJAX点击和翻页的其他运用:利用AJAX实现超时结束步骤:此种情况针对非AJAX网页,为AJAX操作的非正式使用方法。使用方法为:当规则中存在点击元素操作,而进行该步骤后,因为是非AJAX操作,页面会出现加载状况,如果页面加载时间过长,正常情况下,八爪鱼会等待页面加载完成后再进行下一步骤,此时如果我们发现页面内需要采集的内容已经加载完成,而加载状态还没消失,我们可以在点击步骤设置AJAX操作,作用是在网页加载多少秒后停止加载状态,进行下一步。

8

如图所示,该示例中,网页会在加载状态4秒后停止加载进行下一步骤。 AJAX和执行前等待可以当做一对操作,执行前等待为等待多少秒后进入该步骤,而AJAX操作为点击该步骤后多少秒结束操作,一个为之前的等待,一个为之后的等待。

推荐信息