注意:本功能是DataScraper V4.11.1版本新加的。
AJAX网站数据抓取技巧在GooSeeker社区已经讨论了很多(在GooSeeker社区网站搜索AJAX可以看到所有相关技巧),但是,随着AJAX的广泛采用,出现了很多网站数据采集的难题,本功能主要解决下述难题:
网页上显示的内容是用AJAX/Javascript机制异步从服务器上加载,而且并不是在加载HTML网页的同时 或者之后就开始AJAX数据的加载,而是用户滚动浏览器屏幕内容时,滚屏到哪才加载并显示到哪。
本功能重点应对滚屏加载问题。例如,抓取新浪微博数据,微博的评论数和转发数就是这样加载的,必须解决该问题。
又如,京东商城的商品图片也是滚屏后加载的,但是,如果仅仅抓取商品图片的URL地址,可以采用《采集京东商城网站的产品信息的技巧》一文介绍的技巧,而不需要滚屏。
首先,DataScraper显示的屏幕要有足够大的尺寸,因为AJAX程序根据窗口大小计算哪行数据需要加载了,浏览器窗口越大,AJAX一次加载的行数越多,所以,需要调整DataScraper的内嵌浏览器的尺寸。如果采用手动批量抓取,直接手工调整DataScraper的窗口大小即可,但是,如果采用周期性自动批量抓取,缺省情况下,内嵌浏览器窗口是最小的,如果同时运行多个窗口,一个个调整很繁琐。从V4.11.1开始,增加了一个菜单项:配置-〉全屏显示,这是一个乒乓菜单,如果勾选了,下次启动DataScraper时,所有DataScraper窗口将是最大化的。
其次,应该设置滚屏参数,滚屏参数跟屏幕最大化不一样,后者是全局参数,前者既能够全局设置,又可以在周期性抓取指令文件中为特定主题个别设置,而且特定设置将覆盖全局设置。
滚屏参数有两个:
使用菜单:配置-〉滚屏参数,弹出一个对话框,可以修改上述参数值,这是全局设置。如果在周期性抓取指令文件中为数据抓取主题设置专用参数,则需要设置:
使用滚屏功能时,DataScraper抓取网页的速度大大降低,所以,通常要将额外滚屏次数设置成0,即不滚屏。