【从零开始学爬虫】采集全国历史天气数据

l 采集网站
【场景描述】采集全国历史天气数据。
【源网站介绍】天气后报网提供全国历史天气查询、历史天气预报温度记录查询,历史天气数据包含全国各城市区县的最高温度、最低气温、天气状况、风力风向等天气指标。
【使用工具】前嗅 ForeSpider 数据采集系统
【入口网址】
http://www.tianqihoubao.com/lishi/index.htm
【采集内容】
采集天气后报上的全国各城市的历史天气数据。

【采集效果】
如下图所示:

l 思路分析
配置思路概览:

l 配置步骤
1.新建采集任务
选择【采集配置】,点击任务列表右上方【+】号可新建采集任务,将采集入口地址填写在【采集地址】框中,【任务名称】自定义即可,点击下一步。

2.获取城市链接
采用链接过滤的方法来抽取城市链接,具体如下所示:①点击采集预览,先观察城市链接规律,找到规律,很明显城市链接中都包含:http://www.tianqihoubao.com/lishi/城市名全拼.html

②设置地址过滤,过滤包含“http://www.tianqihoubao.com/lishi/\c.html”的链接,\c 表示一串英文字母,这样就把城市链接过滤出来了。

3.抽取各月链接
①新建模板 02,在模板 02 下新建一个链接抽取,改名为【月份链接】。

②关联模板,将城市链接抽取,关联模板 02。

③使用链接过滤的方法来获取列表链接,先采集预览,打开列表链接预览结果,找到月份链接并观察规律,发现其中都包括:“http://www.tianqihoubao.com/lishi/城市名全拼/month/月份日期.html”

③设置地址过滤,过滤包含“http://www.tianqihoubao.com/lishi/\c/month/\d.html”的链接,\c 表示一串英文字母,\d 表示一串数字,这样就把月份链接过滤出来了。

4.抽取历史天气数据
①新建模板 03,在其下新建一个数据抽取模板,具体操作如下所示:

②数据建表,按照下图所示建数据表。(注意字段属性等应严格按照下图进行设置)

③将新建好的数据表,关联到模板中去,如下图所示:

④填写示例地址
采集预览,复制任意一条月份链接。

⑤将链接粘贴到本模板示例地址中,并双击内置浏览器空白部分,加载本链接。

⑥关联模板
将模板月份链接抽取模板关联模板 03,如下图所示:

⑦识别列表
选择数据抽取模板,然后如下图所示,识别列表。


⑧数据取值
使用定位取值和数据清洗的方法,title 字段如下所示:

Date_字段如下所示:

trend 字段如下所示:

Weather 字段如下所示:

Temp_字段如下所示:

⑧采集预览
采集预览如下图所示,说明配置成功,可以开始采集。如果有哪个字段或者数据没有出来,再次检查之前配置,正确配置模板。

l 采集步骤
模板配置完成,采集预览没有问题后,可以进行数据采集。
1.建立数据表单
选择【数据建表】,点击【表单列表】中该模板的表单,在【关联数据表】中选择【创建】,表名称自定义,这里命名为【tianqi】(注意命名不能用数字和特殊符号),点击【确定】。创建完成,勾选数据表,并点击右上角保存按钮。

2.开始采集
选择【数据采集】,勾选任务名称,点击【开始采集】,则正式开始采集。

3.导出数据
采集结束后,可以在【数据浏览】中,选择数据表查看采集数据,并可以导出数据。


导出的文件打开如下图所示:

本教程仅供教学使用,严禁用于商业用途!
评论