基于python的中国气象局气象数据采集,可以作为数据集使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 本文介绍了一个基于Python的中国气象局气象数据采集项目,使用requests、lxml等技术将天气数据爬取并存储至MySQL数据库,可用于数据集创建。

采集网站:

http://weather.cma.cn/web/weather/54161.html

使用技术:pymysql

requests

lxml

etree

实现:

通过爬取中国气象局网站上的天气数据,并将数据存储到MySQL数据库中。

首先,通过cun()函数创建了一个名为"天气数据"的表格,并定义了表格的各个列及其数据类型。

接下来,html_text()函数通过发送HTTP请求获取每个城市的天气页面内容。使用requests.get()方法发送GET请求,并指定了请求头部信息。

然后,在jiexi()函数中,使用lxml库对网页内容进行解析。通过XPath路径选取相应的数据,并保存到变量中。最后,使用pymysql库连接到MySQL数据库,并使用游标对象执行SQL语句,将数据插入到"天气数据"表格中。

在主函数main()中,定义了一个包含城市和对应URL的字典dic_。遍历字典中的每个键值对,分别调用html_text()函数获取网页内容,再调用jiexi()函数解析并存储数据。

最后,调用cun()函数创建数据库表格,并调用main()函数执行爬取和存储操作。

主要代码:

#读取每一页的代码
def html\_text(my\_list1):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    }
    res = requests.get("http://weather.cma.cn"+my\_list1, headers=headers).content
    print(res)
    return res
#解析数据,采集数据
def jiexi(tx,city):
    db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='中国气象局')
    cur = db.cursor()
    soup = etree.HTML(tx)
    dw = soup.xpath('/html/body/div\[1\]/div\[2\]/div\[1\]/div\[1\]/div\[2\]/div')
    list0=\[\]
    for i in dw:
        list1=\[\]
        riqi = i.xpath('./div\[1\]/text()\[1\]')\[0\] + i.xpath('./div\[1\]/text()\[2\]')\[0\]
        tianqi = i.xpath('./div\[3\]/text()')\[0\]
        fengxiang = i.xpath('./div\[4\]/text()')\[0\]
        fengli = i.xpath('./div\[5\]/text()')\[0\]
        max\_1 = i.xpath('./div\[6\]/div/div\[1\]/text()')\[0\]
        min\_1 = i.xpath('./div\[6\]/div/div\[2\]/text()')\[0\]
        n\_tianqi = i.xpath('./div\[8\]/text()')\[0\]
        n\_fengxiang = i.xpath('./div\[9\]/text()')\[0\]
        n\_fengli = i.xpath('./div\[10\]/text()')\[0\]

采集结果:

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
371 0
|
5月前
|
数据采集 JSON API
Python 实战:用 API 接口批量抓取小红书笔记评论,解锁数据采集新姿势
小红书作为社交电商的重要平台,其笔记评论蕴含丰富市场洞察与用户反馈。本文介绍的小红书笔记评论API,可获取指定笔记的评论详情(如内容、点赞数等),支持分页与身份认证。开发者可通过HTTP请求提取数据,以JSON格式返回。附Python调用示例代码,帮助快速上手分析用户互动数据,优化品牌策略与用户体验。
1012 3
|
11月前
|
数据采集 Python
Python实用记录(七):通过retinaface对CASIA-WebFace人脸数据集进行清洗,并把错误图路径放入txt文档
使用RetinaFace模型对CASIA-WebFace人脸数据集进行清洗,并将无法检测到人脸的图片路径记录到txt文档中。
265 1
|
数据采集 存储 数据挖掘
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
本文介绍了一个基于Python的书旗网小说网站数据采集与分析系统,通过自动化爬虫收集小说数据,利用Pandas进行数据处理,并通过Matplotlib和Seaborn等库进行数据可视化,旨在揭示用户喜好和市场趋势,为图书出版行业提供决策支持。
1031 6
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
|
数据采集 数据格式 Python
享一些可以提高数据采集准确性的 Python 代码
这段Python代码示例提供了几个实用功能以提升数据采集的准确性:数据源验证、去除重复值、数据范围检查和数据格式验证。通过这些工具,可以确保所采集的数据在合理范围内且格式正确,有效提高了数据的质量。示例展示了如何使用这些功能进行数据清理与验证。
|
数据采集 存储 自然语言处理
【优秀python案例】基于百度贴吧的数据采集与文本分析设计与实现
本文介绍了百度贴吧数据采集与文本分析的设计与实现,包括自动化采集帖子数据、进行情感分析和主题分析,以及使用可视化技术展示分析结果。
626 111
|
10月前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
610 1
|
11月前
|
数据可视化 数据挖掘 大数据
Python 数据分析入门:从零开始处理数据集
Python 数据分析入门:从零开始处理数据集
|
数据采集 数据可视化 关系型数据库
【优秀python 数据分析案例】基于python的穷游网酒店数据采集与可视化分析的设计与实现
本文介绍了一个基于Python的穷游网酒店数据采集与可视化分析系统,通过爬虫技术自动抓取酒店信息,并利用数据分析算法和可视化工具,提供了全国主要城市酒店的数量、星级、价格、评分等多维度的深入洞察,旨在为旅行者和酒店经营者提供决策支持。
498 4
【优秀python 数据分析案例】基于python的穷游网酒店数据采集与可视化分析的设计与实现
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
1194 1

推荐镜像

更多