天气预报爬取的python教程有很多,但时过境迁,教程上的有些办法已经不适用了。这里介绍我2020年6月29日爬取信息所用的代码。
天气预报的网址的获得
这里我爬取的目标网址为2345天气预报。
切换到历史天气选项卡,选择目标区域.
F12打开开发者模式,找到Network选项卡。
在网页界面调整月份,开发者模式界面的Name对话框中会有一条新的记录,点开它。
打开“Headers”选项卡,记住(复制/保存)"Request URL: "后面的链接(这就是爬取数据所用的链接)。
获得链接中的所有内容
import requests
years = [2017, 2018, 2019, 2020] #所要爬取的年份
months = []
for year in years:
todo_urls = [f'https://tianqi.2345.com/Pc/GetHistory?areaInfo%5BareaId%5D=71920&areaInfo%5BareaType%5D=2&date%5Byear%5D={year}&date%5Bmonth%5D={month+1}' # 刚刚保存的链接,将年和月的数字分别替换为“{year}”和“{year}”
for year in years
for month in range(12)]
datas = [] # 将所有的数据全部保存到datas中
for url in todo_urls:
r = requests.get(url)
if r.status_code != 20