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

2023-04-10  本文已影响0人  SunY7

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
上一篇 下一篇

猜你喜欢

热点阅读