招标信息采集
2018-01-16 14:52:07 阅读量: 21880
本文介绍使用八爪鱼采集招标网站(全国公共资源交易平台(广东省)为例)的方法。
示例网站:
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:数据提取及导出
在详情页中分别点击标题,在右侧选项框中选择“采集该元素的文本”,标题提取完成。再分别对信息来源、正文字段做如上提取。(可在提取数据的高级选项中设置几秒的执行前等待,防止网页加载较慢,缓不出来数据
规则制作完毕,点击保存,点击开始采集,点击本地采集,测试一下。
数据成功采集!
导出数据如下图所示