SM系列网站-swag尤物在线-TS恩静一区二区三区-Ts另类人妖一二三-ts抢先版在线观看-ts清晰版在线观看

資訊

精準傳達 ? 有效溝通

從品牌網站建設到網絡營銷策劃,從策略到執行的一站式服務

不知道天氣咋樣?一起用Python爬取天氣數據分析告訴你

來源:公司資訊 | 2021.08.17

前語
今日咱們共享一個小案例,獲取氣候數據,進行可視化剖析,帶你直觀了解氣候狀況!

一、中心功能設計
整體來說,咱們需求先對我國氣候網中的氣候數據進行爬取,保存為csv文件,并將這些數據進行可視化剖析展示。

拆解需求,大致能夠整理出咱們需求分為以下幾步結束:

通過爬蟲獲取我國氣候網7.20-7.21的降雨數據,包含城市,風力方向,風級,降水量,相對濕度,空氣質量。
對獲取的氣候數據進行預處理,剖析河南的風力等級和風向,制造風向風級雷達圖。
依據獲取的溫度和濕度制造溫濕度相關性剖析圖,進行溫度、濕度對比剖析。
依據獲取的各城市的降雨量,可視化近24小時的每小時時段降水狀況。
制造各城市24小時的累計降雨量。




依據對數據剖析,回來的json格式數據,不難發現:

101180101便是代表城市編號
7天的氣候預告數據信息在div標簽中并且id=“7d”
日期、氣候、溫度、風級等信息都在ul和li標簽
網頁結構咱們上面現已剖析好了,那么咱們就能夠來著手爬取所需求的數據了。獲取到一切的數據資源之后,能夠把這些數據保存下來。

請求網站:

氣候網的網址:http://www.weather.com.cn/weather/101180101.shtml。假如想爬取不同的區域只需修改畢竟的101180101區域編號,前面的weather代表是7天的網頁。

def getHTMLtext(url):
"""請求獲得網頁內容"""
try:
r = requests.get(url, timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
print("Success")
return r.text
except:
print("Fail")
return" "
1
2
3
4
5
6
7
8
9
10
11


處理數據:

選用BeautifulSoup庫對剛剛獲取的字符串進行數據提取。獲取咱們需求的風力方向,風級,降水量,相對濕度,空氣質量等。

def get_content(html,cityname):
"""處理得到有用信息保存數據文件"""
final = []  # 初始化一個列表保存數據
bs = BeautifulSoup(html, "html.parser")  # 創建BeautifulSoup方針
body = bs.body
data = body.find('div', {'id': '7d'})    # 找到div標簽且id = 7d
# 下面爬取當天的數據
data2 = body.find_all('div',{'class':'left-div'})
text = data2[2].find('script').string
text = text[text.index('=')+1 :-2] # 移除改var data=將其變為json數據
jd = json.loads(text)
dayone = jd['od']['od2'] # 找到當天的數據
final_day = []      # 寄存當天的數據
count = 0
for i in dayone:
temp = []
if count <=23:
temp.append(i['od21']) # 增加時刻
temp.append(cityname+'市') # 增加城市
temp.append(i['od22']) # 增加當時時刻溫度
temp.append(i['od24']) # 增加當時時刻風力方向
temp.append(i['od25']) # 增加當時時刻風級
temp.append(i['od26']) # 增加當時時刻降水量
temp.append(i['od27']) # 增加當時時刻相對濕度
temp.append(i['od28']) # 增加當時時刻操控質量
# print(temp)
final_day.append(temp)
data_all.append(temp)
count = count +1
# 下面爬取24h的數據
ul = data.find('ul')                     # 找到一切的ul標簽
li = ul.find_all('li')                   # 找到左右的li標簽
i = 0                                    # 操控爬取的天數
for day in li:                          # 遍歷找到的每一個li
    if i < 7 and i > 0:
        temp = []                        # 暫時寄存每天的數據
        date = day.find('h1').string     # 得到日期
        date = date[0:date.index('日')]  # 取出日期號
        temp.append(date)
        inf = day.find_all('p')          # 找出li下面的p標簽,提取第一個p標簽的值,即氣候
        temp.append(inf[0].string)

        tem_low = inf[1].find('i').string  # 找到最低氣溫

        if inf[1].find('span') is None:  # 氣候預告或許沒有最高氣溫
            tem_high = None
        else:
            tem_high = inf[1].find('span').string  # 找到最高氣溫
        temp.append(tem_low[:-1])
        if tem_high[-1] == '℃':
        temp.append(tem_high[:-1])
        else:
        temp.append(tem_high)

        wind = inf[2].find_all('span') # 找到風向
        for j in wind:
        temp.append(j['title'])

        wind_scale = inf[2].find('i').string # 找到風級
        index1 = wind_scale.index('級')
        temp.append(int(wind_scale[index1-1:index1]))
        final.append(temp)
    i = i + 1
return final_day,final

—— 靈通云微信公眾號 ——

熱門標簽

上一條———————

下一條———————

十七年 建站經驗

多一份參考,總有益處

聯系靈通云,免費獲得專屬《策劃方案》及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯系

業務熱線:400-688-6062 / 大客戶專線   南通:15818561755

主站蜘蛛池模板: 四房开心色播网 | 人人97 | hd最新国产人妖ts视频 | 俺去也影音先锋播放 | 色偷偷色偷偷色偷偷在线视频 | 91网站免费看nba网站5787亚洲 | 国产在线高清一级毛片 | 精品AV国产一区二区三区四区 | 五月婷婷综合在线 | 9亚洲精华国产精华精华液 av大片 | 欧美特黄一级高清免费的香蕉 | 日韩在线av免费视久久 | 亚洲免费区 | 久久久高清国产999尤物 | 久久碰人妻一区二区三区 | 欧美阿v高清资源不卡在线播放 | 91精品国产手机在线版 | 欧美日韓性视頻在線 | 给我个可以免费看片的 | 2019中文字幕在线观看 | 黑人两根一起强进 | 再猛点深使劲爽免费视频 | 日本三线免费视频观看 | freev de0x x性欧美12 | 九九久久久久午夜精选 | 日本高清视频一区二区 | 色综合天天综一个色天天综合网 | 91福利视频网 | 亚洲视频高清不卡在线观看 | 成年网站在线播放 | A片粗大的内捧猛烈进出在线 | 欧美日本道免费一区二区三区 | 婷婷色香五月激情综合2020 | 狠狠色成人综合 | 日韩一卡2卡三卡4卡精品 | 国产乱码精品一区二区三区四川 | 欧美黑人xxx | 国产精品人妻久久久久A片-百度 | 久热精品视频在线观看99小说 | 成人无码A片一区二区三区免费看 | 欧美成人在线网站 |