Python 爬取历史天气数据
作者:梅昊铭
1. 导读
之前Mo给大家分享过杭州历年天气情况的数据集,相信有不少小伙伴好奇这些数据是怎么获取。今天Mo就来教大家如何使用Python来进行历史天气数据的爬取。本文的内容只要求大家熟悉 Python 即可,欢迎大家跟着小Mo一起学习。
2. 准备工作
2.1 目标网站分析
在爬取数据之前,我们首先要对爬取的目标网站进行分析,弄清楚爬取的页面和数据在哪里,然后再利用 Python 工具进行数据爬取。
首先,设定爬取数据的目标网站为2345天气预报网,然后进入历史天气数据页面并设定目标城市为杭州。
然后分析该网页,我们发现改变相应的年月网页的 URL 并没有发生改变,这说明网页上的数据是动态加载的。我们打开 Chrome 浏览器的DevTools,再改变年月,发现该页面动态加载了一个 js 文件。
仔细分析后,我们发现每改变一次年月,该页面就动态加载一个 js 文件。点开对应的 js 链接,我们就可以发现每个月份的历史数据是通过请求一个 js 数据文件获取的。
接着我们使用 Python 对每一个 js 文件进行分析,就可以获取相应月份的历史天气数据了。
2.2 Python 库
利用 Python 进行数据爬取时,我们常用的一些库有requests, Beautifulsoup, scrapy等。本文中,我们使用 requests 工具来获取历史天气数据的 js 数据文件,并用 demjson 工具