很多 页使用了Ajax 技术,针对这种 页,我们需在八爪鱼中进行Ajax设置。
一、什么是Ajaxp>
Ajax (Asynchronous JavaScript and XML) :异步JavaScript 和XML。
Ajax是一种在无需重新加载整个 页的情况下,更新部分 页的技术。 通过在后台与服务器进行少量数据交换,Ajax 可以使 页实现异步更新。传统的 页(不使用 Ajax)如果需要更新内容,必须重新加载整个 页页面。
二、如何判断 页是否使用了Ajax技术p>
Ajax 页有2个明显特征:点击后【不重新加载整个 页】,且【 页局部出现新数据】。【不重新加载整个 页】是指:点击后观察 页的标签位置,不会转圈。
八爪鱼是通过内置Chrome浏览器访问 页采集数据的。在八爪鱼中,判断 页是否使用了Ajax技术的方法,与普通浏览器一致。
是Ajax点击:点击后【不重新加载整个 页】(点击后浏览器 址栏无转圈状态,保持
不是Ajax点击:点击后整个页面重新加载(点击后浏览器 址栏开始转圈
② 点击京东【商品评论】按钮 https://item.jd.com/100004069493.html
④ 点击搜狗微信【文章链接】 https://weixin.sogou.com
答案:1是;2是;3是;4不是;5是。
三、是Ajax点击,在八爪鱼中如何设置p>
1、八爪鱼自行判断 页是Ajax
判断是Ajax点击后,会自动勾选【Ajax加载数据】,并设置一定的【Ajax超时】时间。
如下图,百度地图的搜索按钮,使用了Ajax技术,八爪鱼自动勾选【Ajax加载数据】,并设置【Ajax超时】为3秒。
什么是【Ajax超时】击后等待的时间,超过这个时间即进行下一个步骤。
【Ajax超时】设置为几秒合适【点击后新数据加载完成所需的时间】即可,请注意观察 页本身点击后新数据加载完成所需的时间。
如果八爪鱼自动设置的【Ajax超时】过短,导致采不到数据,可相应的将【Ajax超时】延长,推荐5-10秒,具体根据 页情况进行调整。

如果是Ajax点击,但是在八爪鱼中没有设置【Ajax加载数据】会怎样p>
对于【点击】【翻页】等会造成页面变化的步骤,八爪鱼是通过 页是否加载完成,来决定是否进行下一个步骤的:加载完成,进行下一个步骤;没有完成,等待完成再进行下一个步骤。
非Ajax 页,点击后有 页重新加载过程过程。当加载结束后,八爪鱼知道 页加载完成了,可以进行下一个步骤了。
Ajax 页,点击后 页不重新加载,无变化,八爪鱼无法判断 页是否加载完成,就默认在点击后等待120秒。但实际上Ajax点击后,局部数据几秒内就会出现,默认等待120秒会极大的影响采集速度。
2、是Ajax 页 页,但八爪鱼没有自动判断出来
需要我们手动为相应步骤进行Ajax设置:勾选【Ajax加载数据】,并设置一定的【Ajax超时】时间。
目前自动判断的很精准,很少出现此种情况,暂无实例演示。
四、不是Ajax点击,可以设置【Ajax超时】吗p>
有的 页不是Ajax点击,点击后重新加载,要采集的数据已经出现在页面上了,但 址栏还没有加载完成。八爪鱼会等待加载完成后才进行下一个步骤,就会拖慢采集速度。
针对这种情况,可以设置【Ajax超时】,强制停止 页加载。但需要注意,【Ajax超时】的时间,一定要略多于要采集的数据实际加载出来的时间。例如,要采集的数据实际5秒内加载出来,那将【Ajax超时】设为7秒,7秒后即使 址栏还在加载,八爪鱼也会强制停止其加载,进入下一个步骤,进而提高采集速度。
相关资源:…手爪、传感器功能包和一个在windows下可以接受力传感器的软件…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!