北方“吃土”预警,沙尘暴又双叒叕来了

简介: 如何使用python获取历史上的沙尘暴数据

4月10日晚间,一场影响北方大部地区的沙尘暴引发大家的关注,北京发布大风、沙尘暴双预警,不少网友表示出门像打开“护眼模式”并且值得关注的是目前的这次沙尘天气过程是今年以来第8次,常年同期的沙尘过程次数是5至6次,今年沙尘出现的次数略偏多。
QQ图片20230411151900.png

不知道历史上每年出现沙尘天气的次数相比今年是怎么样的,这里我们通过python爬取爬取历史天气数据来进行分析。
首先简单的进行爬取步骤分析,
1.python库的选择,这里我使用的是Python中的BeautifulSoup库进行爬取,BeautifulSoup库是一个能够从HTML文件中提取数据的Python库,由于我们获取的HTML文件包含整个网页内容,我们还需要定位到我们所需要获取的数据部分。
2.分析网页结构,需要先打开我们要爬取的网页,使用谷歌浏览器等开发者工具快速定位到我们所需要的HTML内容:
3.存储数据,数据获取到后需要将数据以结构化的方式存储起来。
接下来就是爬取数据的实际操作,因为天气网大量访问是会触发一些反爬机制的,所以爬取过程中在代码里面添加了代理IP,选择的是由亿牛云提供的隧道爬虫代理,因为不管是代理延迟,访问速度,稳定性都是最优的。实现代码如下:
``#! -- encoding:utf-8 --

import requests
import random

# 要访问的目标页面
targetUrl = "https://www.tianqi.com//"

# 要访问的目标HTTPS页面
# targetUrl = "https://www.tianqi.com//"
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "udfejfhk"
proxyPass = "568547"

proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host" : proxyHost,
    "port" : proxyPort,
    "user" : proxyUser,
    "pass" : proxyPass,
}

# 设置 http和https访问都是用HTTP代理
proxies = {
    "http"  : proxyMeta,
    "https" : proxyMeta,
}


#  设置IP切换头
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}



resp = requests.get(targetUrl, proxies=proxies, headers=headers)

print resp.status_code
print resp.text
相关文章
|
搜索推荐 Java 数据库
基于SpringBoot校园二手书交易管理系统
基于SpringBoot校园二手书交易管理系统
|
机器学习/深度学习
神经网络与深度学习---验证集(测试集)准确率高于训练集准确率的原因
本文分析了神经网络中验证集(测试集)准确率高于训练集准确率的四个可能原因,包括数据集大小和分布不均、模型正则化过度、批处理后准确率计算时机不同,以及训练集预处理过度导致分布变化。
|
消息中间件 Java Linux
得物面试:什么是零复制?说说 零复制 底层原理?(吊打面试官)
尼恩,40岁老架构师,专注于技术分享与面试辅导。近期,尼恩的读者群中有小伙伴在面试一线互联网企业如得物、阿里、滴滴等时,遇到了关于零复制技术的重要问题。为此,尼恩系统化地整理了零复制的底层原理,包括RocketMQ和Kafka的零复制实现,以及DMA、mmap、sendfile等技术的应用。尼恩还计划推出一系列文章,深入探讨Netty、Kafka、RocketMQ等框架的零复制技术,帮助大家在面试中脱颖而出,顺利拿到高薪Offer。此外,尼恩还提供了《尼恩Java面试宝典》PDF等资源,助力大家提升技术水平。更多内容请关注尼恩的公众号【技术自由圈】。
得物面试:什么是零复制?说说 零复制 底层原理?(吊打面试官)
|
SQL 数据采集 分布式计算
基于DataWorks+MaxCompute的公共电影票房数据预处理实践
本次实验对春节档每日票房的数据进行预处理,主要是数据清洗(例如空值过滤,条件筛选),数据转换(例如含有相同属性的两条数据合并为一条数据)。通过本次实验让大家掌握阿里云大数据产品DataWorks及MaxCompute的基本使用。
|
人工智能 数据可视化 数据处理
推荐2款免费开源的标注工具,支持大模型对话标注
【LabelLLM】一款开源免费的大模型对话标注平台,专为优化大型语言模型的数据标注过程设计。支持灵活配置与多模态数据(音频、图像、视频),具备全面任务管理和AI辅助标注功能,大幅提升标注效率与准确性。了解更多请前往https://github.com/opendatalab/LabelLLM 【LabelU】一款轻量级开源标注工具,支持图像、视频、音频的高效标注。特色功能包括多功能图像处理、视频和音频分析等,简易灵活,支持多种数据格式输出。了解更多请前往https://github.com/opendatalab/labelU
3519 11
|
网络安全 Python
Python:获取ssl证书信息和到期时间
Python:获取ssl证书信息和到期时间
1315 0
|
设计模式 缓存 安全
代理模式揭秘-软件世界的“幕后黑手”
在这篇精细剖析的文章中,我们将探索代理模式这一软件设计的神秘法术,揭开其定义、核心思想及各种代理(静态代理、动态代理和虚拟代理)的神秘面纱。通过直观的结构图和有趣的场景实例,我们比较了使用和不使用代理模式的实现差异,深入理解代理在软件设计中扮演的关键角色。 接下来,文章将带你进入现实世界,在应用与实战中实地展示代理模式的威力。我们将讲述如何巧妙地使用代理来优化软件的设计,并分享一些鲜活的工作案例,帮助读者更好地把握代理模式带来的优势和必须注意的缺点。 最后,我们讨论了实施代理模式时应避免的陷阱和广为人...
1286 0
代理模式揭秘-软件世界的“幕后黑手”
|
数据可视化 Linux UED
QT基础教程(GUI程序原理分析)
QT基础教程(GUI程序原理分析)
237 0
|
Java API 数据库
Java8中的Stream的汇总和分组操作~它并不难的
Java8中的Stream的汇总和分组操作~它并不难的
496 0
|
运维 Dubbo 应用服务中间件
阿里云提供全托管 ZooKeeper
自 2010 年左右第一次引入以来,Apache ZooKeeper 目前在阿里巴巴集团内部已经有了将近 10 年的发展,使用的场景非常广泛,基于 ZooKeeper 强一致性的特点,被用在了分布式锁、分布式队列、Leader 选举、服务注册发现和配置管理等多个大数据和微服务场景下,包括配置中心,注册中心,分布式框架下,分布式调度框架,分布式消息中间件,分布式数据中间件等。
13698 103