今年入夏以来,各地普遍高温,从7月21日开始至今,中央气象台已经连续连续发布了太多高温预警,最近2个周随时打开天气预报都是高温红色预警。很多地区都是40多度的高温,超过11个国家站气温突破历史极值,高温TOP10排行不断刷新成绩,40℃已进不了全国高温排行榜。目前最高温为湖北十堰竹山站,在8月12日16时26分气温达到了44.3℃。很多专家分析说出现这么热的原因是什么热穹顶。
但是今天我们不关心什么是热穹顶,我们关心的是历史上的高温天气都是什么样的,出现的间隔时间,但是要获取到这些数据只能通过python,这里我们获取的数据来源于天气通讯社,在获取高温数据之前我们先对网站进行简单的分析,分析发现反爬机制不是很严,可以很好的获取,只要把基本的反爬措施做好就可以,比如代理 IP 的添加。代理不知道选哪家靠谱的,这里我们推荐使用亿牛云代理。文中我们也实践下代理的使用,示例如下:
#! -*- encoding:utf-8 -*-
import requests
import random
# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"
# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "username"
proxyPass = "password"
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
通过python我们就可以获取到历史上那些高温天气,出现的时间,持续的时间。这样我们就可以通过对比看出今年的高温为何突然历史记录了。虽然今年的末伏马上就要过去了,高温应该持续不了几天,但是大家还是要做好高温防护措施。