本篇內(nèi)容主要講解“如何用Python爬取天氣數(shù)據(jù)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何用Python爬取天氣數(shù)據(jù)”吧!
創(chuàng)新互聯(lián)專注于屯溪網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供屯溪營(yíng)銷型網(wǎng)站建設(shè),屯溪網(wǎng)站制作、屯溪網(wǎng)頁(yè)設(shè)計(jì)、屯溪網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造屯溪網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供屯溪網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
動(dòng)態(tài)數(shù)據(jù)抓包
requests發(fā)送請(qǐng)求
結(jié)構(gòu)化+非結(jié)構(gòu)化數(shù)據(jù)解析
python 3.8 運(yùn)行代碼
pycharm 2021.2 輔助敲代碼
requests 第三方模塊 pip install 模塊名
四、配置pycharm里面的python解釋器
選擇file(文件) >>> setting(設(shè)置) >>> Project(項(xiàng)目) >>> python interpreter(python解釋器)
2. 點(diǎn)擊齒輪, 選擇add 3. 添加python安裝路徑
五、pycharm如何安裝插件
選擇file(文件) >>> setting(設(shè)置) >>> Plugins(插件)
點(diǎn)擊 Marketplace 輸入想要安裝的插件名字 比如:翻譯插件 輸入 translation / 漢化插件 輸入 Chinese
選擇相應(yīng)的插件點(diǎn)擊 install(安裝) 即可
安裝成功之后 是會(huì)彈出 重啟pycharm的選項(xiàng) 點(diǎn)擊確定, 重啟即可生效
https://tianqi.2345.com/Pc/GetHistory?areaInfo%5BareaId%5D=54511&areaInfo%5BareaType%5D=2&date%5Byear%5D=2022&date%5Bmonth%5D=7
1. 發(fā)送請(qǐng)求
2. 獲取數(shù)據(jù)
3. 解析數(shù)據(jù)
4. 保存數(shù)據(jù)
import requests # 發(fā)送請(qǐng)求 第三方模塊 import parsel # 解析網(wǎng)頁(yè)源代碼的 第三方模塊 import csv with open('天氣數(shù)據(jù).csv', encoding='utf-8', mode='a', newline='') as f: csv_writer = csv.writer(f) csv_writer.writerow(['日期', '最高溫度', '最低溫度', '天氣', '風(fēng)向', '城市']) city_list = [54511, 58362, 59287, 59493] for city in city_list: for year in range(2013, 2022): for month in range(1, 13): url = f'https://tianqi.2345.com/Pc/GetHistory?areaInfo%5BareaId%5D=54511&areaInfo%5BareaType%5D=2&date%5Byear%5D={year}&date%5Bmonth%5D={month}' # 1. 發(fā)送請(qǐng)求 response = requests.get(url) ## 2. 獲取數(shù)據(jù) .json(): 字典類型的數(shù)據(jù) 鍵值對(duì)方式取值 json_data = response.json() # 3. 解析數(shù)據(jù) # 字典取值 json(): {"":"", "":""} html_data = json_data['data'] # 結(jié)構(gòu)化數(shù)據(jù) 字典鍵值對(duì)取值 # 非結(jié)構(gòu)化數(shù)據(jù) 網(wǎng)頁(yè)源代碼 css/xpath/re select = parsel.Selector(html_data) trs = select.css('table tr') # 32個(gè)tr 每個(gè)tr都有六個(gè)td # [1, 2, 3, 4, 5] [1] for tr in trs[1:]: # 取標(biāo)簽里面的文本內(nèi)容 # ::text tds = tr.css('td::text').getall() print(tds) if city == 54511: tds.append('北京') elif city == 58362: tds.append('上海') elif city == 59287: tds.append('廣州') elif city == 59493: tds.append('深圳') # 4. 保存數(shù)據(jù) with open('天氣數(shù)據(jù).csv', encoding='utf-8', mode='a', newline='') as f: csv_writer = csv.writer(f) csv_writer.writerow(tds)
到此,相信大家對(duì)“如何用Python爬取天氣數(shù)據(jù)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!