正文

怎样周期性抓取网页数据2010-01-27 22:55:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fuller/50615.html

分享到:

周期性抓取网页数据是抓取网页数据工具DataScraper V4.x新增功能,上一节讲解的方法虽然也是大批量抓取网页数据,但是,每个批量需要手工启动,而且需要手工指定抓取的网页数量。周期性网页数据抓取根据配置参数,由DataScraper自主决定批量抓取开始时间、一个批量中抓取多少网页、是否加速抓取以及遇到故障后自动恢复执行等。配置参数存储在周期性抓取网页数据指令文件中,也就是说,需要先配置好周期性抓取指令文件,然后启动DataScraper,DataScraper将配置参数读入后,根据指令进行不同种类的周期性网页数据抓取,有以下种类: * 自动启动的周期性网页数据抓取 * 手工启动周期性网页数据抓取 自动启动适合一天24小时并连续几天地抓取网页数据,将指令文件中的周期性抓取会话参数auto设置成true,DataScraper启动时,除了启动拥有经典GUI界面的管理DataScraper以外,还为每个auto会话启动一个简化GUI界面的周期性抓取DataScraper。缺省情况下,此界面不显示内嵌的浏览器窗口,如果需要观察提取到哪个网页了,需要放大其窗口,内嵌浏览器将自动显示。 手工启动适合非24小时连续抓取,例如,只在上班时间运行周期性网页数据抓取。将周期性会话参数设置成false,DataScraper启动时并不为 false类会话自动启动一个DataScraper窗口,当用户需要运行此类周期性网页数据抓取时,在DataScraper左栏主题列表上点击鼠标右键,选择排期菜单,弹出一个具有下拉列表的窗口,里面罗列所有周期性抓取会话,既包括自动启动的也包括手工启动的,选择一个,确认后会弹出一个有简化界面的DataScraper窗口,按照周期性抓取指令文件的配置参数,开始安排周期性抓取活动。 重要参数介绍 周期性网页数据抓取由两个参数决定抓取活动的计划安排,开始时间(start参数)和周期(period参数),设置开始时间是为了避免在一台计算机上运行多个DataScraper线程时造成网络通信竞争,所以,每个抓取会话的开始时间应该错开。周期参数容易引起误解,实际上不是周期而是间歇时间,也就是说抓取完一批网页数据后要休息多长时间才开始抓取下一批。因为抓取网页数据的速度受一些不可控因素的影响,例如,受目标网站的速度和网络负荷的影响,不可能精确估计一个批次需要多长时间才能够抓取完,也就是,下一个周期在什么时间启动也是不能准确控制的,需要用户根据长时间的观察后决定周期参数应该多大,防止漏抓一些网页数据。 一个批次最多抓取多少网页由周期性抓取指令文件中的width参数决定,实际抓取多少还要看有多少可供抓取的线索。 有一个参数需要特别注意:waitOnload,如果设置成false,表示一种加速的网页抓取,相反,DataScraper需要等待网页完整地加载到内嵌浏览器后才开始抓取。一般情况下设置成false,但是,如果发现加速抓取到的网页数据有遗漏,可以改成true。手工启动的批量网页抓取总是采用true值。 自从实现了加速的网页数据抓取功能后,DataScraper的抓取速度明显提高了,如果不加以控制,给目标网站会造成很大的压力,最快可以1秒钟抓取一个网页,因此,需要对流量进行规划和控制,从V4.1.0版本开始,周期性网页数据抓取指令文件增加了另外两个参数:minIdle和maxIdle,表示最短和最长的间歇时间,抓取完一个网页后,间歇一个位于此两数字之间的随机时长,再抓取下一个网页。 还有很多控制参数在此不一一解释,详细内容参见周期性网页数据抓取指令文件。 状态监视 周期性网页数据抓取一般用于无人值守的长时间连续抓取,所以DataScraper下栏显示的出错信息可能很快上滾出监视范围,这需要特别的手段进行监视,集中在状态监控一节讲述。

阅读(2514) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册