最近闲来无趣,帮一大学生搞了个小作业,来分享下成果!

首先他的需求是爬取某天气网站的某年到某年中的天气情况,导出到Excel中!

得知需求后我先去网址查看了下难不难,结果我一看还算可以。

但是爱偷懒的程序员拿到需求还是去翻找了一些大型网站寻找下有没有大恩人免费发过!

结果一点不理想,根本都不可使用,都是要流量的。

看来还是得靠自己去动脑搞了,又是掉头发的一天 。。。

最终还是没经过金钱的诱惑我完成了这项困难的工作真是掉了好几根头发!

分享下我掉好几根头发写出的代码把!(爱学习的小伙伴也一起过来掉头发吧)


url= "https://tianqi.2345.com/Pc/GetHistory?"

headers = {
    "User-Agent": """Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"""
}

import requests
import pandas as pd

"""设置指定年月"""
def row_table(year,month):
    params = {
    "areaInfo[areaId]": 71542,
    "areaInfo[areaType]": 2,
    "date[year]": year,
    "date[month]": month,
    }

    r = requests.get(url, headers=headers, params=params)

    data = r.json()["data"]

    df = pd.read_html(data)[0]
    return df

df_list = []
for year in range(2021,2022):
    for month in range(1,13):
        print("爬取:",year,month)
        df = row_table(year,month)
        df_list.append(df)
        
"""把爬取的数据写入到Excel中"""
pd.concat(df_list).to_excel("2022年-2023年天气.xlsx",index=False)

陌生人一起努力加油!

更多推荐