Python 爬虫实战 —— 爬取北京天气数据

news/2024/7/19 12:17:39 标签: python, 爬虫, 开发语言
python">import requests
import pandas

url = "http://tianqi.2345.com/Pc/GetHistory"


def get_tianqi(year: int, month: int):
    """
    根据提供的年份和月份爬取天气数据
    :param year:
    :param month:
    :return:
    """
    params = {
        "areaInfo[areaId]": 54511,
        "areaInfo[areaType]": 2,
        "data[year]": year,
        "date[month]":  month
    }

    headers = {
        "User-Agent": "xxx".encode('utf-8')
    }

    resp = requests.get(url, headers=headers, params=params)
    if resp.status_code != 200:
        raise Exception("请求失败")

    data = resp.json()["data"]
    # read_html() 方法获取网页中的所有表格,以下区第一个表格
    df = pandas.read_html(data)[0]
    # df.head() 表示查看表格的前几行数据
    # print(df.head())
    return df


df_list = []
for i in range(2012, 2023):
    df = get_tianqi(2021, 10)
    df_list.append(df)
    print(df.head())

pandas.concat(df_list).to_excel("北京十年天气数据.xlsx")


http://www.niftyadmin.cn/n/5037645.html

相关文章

从零学习开发一个RISC-V操作系统(二)丨GCC编译器和ELF格式

本篇文章的内容 一、GCC(GUN Compiler Collection)1.1 GCC的命令格式1.2 GCC的主要执行步骤1.3 GCC涉及的文件类型 二、ELF简介2.1 ELF文件格式图2.2 ELF文件处理的相关工具2.3 练习 本系列是博主参考B站课程学习开发一个RISC-V的操作系统的学习笔记&…

【Vue3 源码解析】reactive 全家桶

// 泛型约束&#xff1a;只能传入引用类型 export function reactive<T extends object>(target: T): UnwrapNestedRefs<T> // 判断只读&#xff0c;否则创建reactive响应式对象 export function reactive(target: object) {// if trying to observe a readonly pr…

Bash脚本学习:AWK, SED

1. AWK AWK 是一种编程语言&#xff0c;设计用于处理文件或数据流中基于文本的数据&#xff0c;或者使用 shell 管道。 可以将 awk 与 shell 脚本结合使用或直接在 shell 提示符下使用。 以上展示使用AWK分别打印第一个位置变量和第二个位置变量。 建立一个文档 csvtest.cs…

Vuex状态管理最佳实践

文章目录 单一状态树使用模块使用常量定义Mutation类型使用Actions处理异步操作使用Getters计算属性严格模式分模块管理Getter、Mutation和Action&#xff1a;注释和文档&#xff1a;Vue Devtools ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮…

(JavaEE)(多线程案例)线程池 (简单介绍了工厂模式)(含经典面试题ThreadPoolExector构造方法)

线程诞生的意义&#xff0c;是因为进程的创建/销毁&#xff0c;太重了&#xff08;比较慢&#xff09;&#xff0c;虽然和进程比&#xff0c;线程更快了&#xff0c;但是如果进一步提高线程创建销毁的频率&#xff0c;线程的开销就不能忽视了。 这时候我们就要找一些其他的办法…

肖sir__mysql之索引__010

mysql之索引 一、什么是索引&#xff1f; 索引是一种数据结构设计 一个索引是存储的表中数据结构&#xff1b; 索引是建立在表字段上&#xff0c; 索引包含了一列值&#xff0c;这个值保存在一个数据结构中 二、索引作用 1、保证数据记录的唯一性 2、实现表与表之间的参照性 3…

Matlab学习笔记(不定期更新)

MATLAB学习笔记 个人上了一点网课之后&#xff0c;感觉MATLAB自带的学习指导真好用 添加所需要的变量 >> a 1 a 1 >> ans sin(a) ans 0.8415edX提供的各项MATLAB函数 遇到不会使用的函数怎么办&#xff1f; 通过在搜索文档里键入自己需要搜索的函数&#xff…

Qt视频播放器实现(目录)

写在前面 因为没有人可以一次性写出完美的文章&#xff0c;所以和往期所有教程一样&#xff0c;本教程的所有文章&#xff0c;随时都可能更新。 请及时关注动态。 在开始本教程之前&#xff0c;往期所有教程你都应该已经刷完。 否则一定会觉得吃力。 往期专栏 1 C自学精简…