本文介绍使用八爪鱼采集招标网站(全国公共资源交易平台(广东省)为例)的方法

 

示例网站:

http://www.gdggzy.org.cn/prip-portal-web/main/Index.do?typeId=30011&city=gd&businessType=3001 

 

全国公共资源交易平台(广东省)

 

说明:该网站有多个项目,每个项目下还有多个省市划分,此次打算采集政府采购项目的招标公告。

 

采集的数据包括:招标公告标题,发布时间,正文。

 

使用功能点:

l 创建循环翻页

l Ajax点击

l 修改Xpath

l 切换循环下拉列表

 

 

步骤1:创建采集任务

1)进入主界面,选择自定义采集

 

2)要采集网站URL制粘贴到输入框中,点击保存网址

 

 

 

点击右上角的流程,让你的采集流程清晰可见。

 

 

步骤2:创建链接循环

 

1)鼠标点击一下第一个地址,选择右侧选项框中的选中全部,接着选择“循环点击每个链接”,对地址的循环就做好了。

 

2)然后随便点击循环中选项测试一下是否可以选中,发现了问题,手动执行,选择列表中的任何一个地名,再返回循环中查看时,第一个“省本级”都会变成刚才选择的地名。

 

 

检查循环元素列表后,发现是定位问题,所以把第一个元素列表修改成

//DIV[@class='m']/TABLE[1]/TBODY[1]/TR[1]/TD[1]/UL[1]/LI[1]/A[1],点击确定,再点击循环列表就不会变化了。

 

 

 

3)由于点击地址变化,网址不变,是ajax页面,因此对点击元素的高级选项设置“ajax加载”加载2s

 

 

步骤3:循环切换下拉列表

 

1)页面最下方有个选择公告数量的下拉框,可对显示数量做选择。点击下拉框,点击右侧“循环切换下拉列表选项”,左上方[流程]中会显示出一个下拉框循环。

 

 

 

假如只想选择下拉框中的最大数100,所以把不固定元素列表修改为单个元素的循环方式,先在火狐浏览器中定位到100数量的位置,然后点击单个元素,在单个元素列表框中修改xpath为:

.//*[@id='TestView_pageableDiv']/div[1]/select/option[5],点击保存,循环列表中就只剩100数量了。

 

步骤3:设置翻页循环

点击表示为下一页”的按钮,在提示框中选择“循环点击单个链接”,翻页循环就在左上角[流程]中显示出来了。

 

由于该页面是ajax加载页面,所以还需在“点击翻页”的高级选项中设置“ajax加载”,超时2秒,点击“确定”。

 

 

检查下目前规则步骤有无做错。换了循环中的市区地址,向下依次点击,到翻页步骤时发现其他的地址在翻页上有的没有翻页按钮,有的只有一页或两页,如揭阳市。

 



对于这些情况,目前的翻页显然不适用,要修改翻页循环的xpath,进行数字翻页,实现翻页通用。修改为://li[@class='active']/following-sibling::li[1]/a,点击确定,就可以了。

 

 

 

设置列表循环

 

在列表中,先点击第一个元素,再点击第二个,此时右侧的选项框中提示“已选中100个元素”,选择“循环点击每个元素”,循环设置完成,点击进入详情页。(可在点击元素的高级选项中设置几秒的执行前等待,限制速度)

步骤4:数据提取及导出

 

 

在详情页中分别点击标题,在右侧选项框中选择采集该元素的文本”,标题提取完成。再分别对信息来源、正文字段做如上提取。(可在提取数据的高级选项中设置几秒的执行前等待,防止网页加载较慢,缓不出来数据

 

 

规则制作完毕,点击保存,点击开始采集,点击本地采集,测试一下。

 

 

 数据成功采集!

 



导出数据如下图所示