1.爬虫场景与需求
设计一个爬取数据的任务,目标是从某期货网站,获取到当天的铜交易行情。
1.1 确认设计流程
访问网页-选择期货-选择铜-获取表头(数据类型)-获取表列数据-存取数据
1.2 爬虫流程设计
(1)创建爬虫任务
(2)打开网页
拖拽打开网页动作至设计看板,并录入访问网页的页面URL。
参考地址:http://www.shfe.com.cn/statements/
(3)点击期货
拖拽点击动作至设计看板,形成流程,并完善动作名称和点击路径。
路径获取方式:
①在对应网页上,按F12弹出开发者工具。
②点击选择和跟踪元素按钮(快捷键:Ctrl+Shift+C),并点击需要获取路径的元素,右侧窗口即可定位到对应元素。
③选择相应元素,右键复制-选择复制XPath或复制完整的XPath。
④将获取到的Xpath路径粘贴到爬虫动作的路径。
参考路径://*[@id='zero1']
(4)点击期货
拖拽点击动作至设计看板,形成流程,并完善动作名称和点击路径。
参考路径://*[@id='delaymarket_cu']
(5)指定爬取数据范围
拖拽选取元素动作至设计看板,形成流程,添加采集内容并编辑。
可查看到,普通单击和跟踪元素,只能定位到单个元素路径,如需获取该表格中指定范围的数据,需调整采集路径。(如采集1-12列的表头,以及表头下的所有数据)
表头元素:合约名称的路径:/html/body/table/tbody/tr[2]/td[1]
调整路径:/html/body/table/tbody/tr[2]/td[position()<13]
表头收集类型选择fields。
数据元素:第一个数据的路径:/html/body/table/tbody/tr[3]/td[1]
调整路径:/html/body/table/tbody/tr[position()>2]/td[position()<13]
(因为表格的前两行不是数据,所以行范围大于2,列范围要维持1-12列)
数据收集类型选择tabeltext。
(6)存取数据动作
将采集的数据写入到存储表中。
1.3 执行爬虫
(1)点击执行
(2)查看表数据
执行成功,点击完成,并查看表数据,验证采集的数据行和列没有缺漏,完成外部数据的爬取任务。