双击此处添加文字
爬虫实例-爬取外部数据(简单表格)
来源: | 作者:佚名 | 发布时间: 2024-03-27 | 46 次浏览 | 分享到:

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)查看表数据

    执行成功,点击完成,并查看表数据,验证采集的数据行和列没有缺漏,完成外部数据的爬取任务