真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用Python爬取天氣數(shù)據(jù)

本篇內(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ù)。

一、[知識(shí)點(diǎn)]:

   動(dòng)態(tài)數(shù)據(jù)抓包

   requests發(fā)送請(qǐng)求

   結(jié)構(gòu)化+非結(jié)構(gòu)化數(shù)據(jù)解析

二、[開發(fā)環(huán)境]:

   python 3.8               運(yùn)行代碼

   pycharm 2021.2           輔助敲代碼

   requests                 第三方模塊  pip install 模塊名

四、配置pycharm里面的python解釋器

  1. 選擇file(文件) >>> setting(設(shè)置) >>> Project(項(xiàng)目) >>> python interpreter(python解釋器)

2. 點(diǎn)擊齒輪, 選擇add

3. 添加python安裝路徑

五、pycharm如何安裝插件

  1. 選擇file(文件) >>> setting(設(shè)置) >>> Plugins(插件)

  2. 點(diǎn)擊 Marketplace  輸入想要安裝的插件名字 比如:翻譯插件 輸入 translation / 漢化插件 輸入 Chinese

  3. 選擇相應(yīng)的插件點(diǎn)擊 install(安裝) 即可

  4. 安裝成功之后 是會(huì)彈出 重啟pycharm的選項(xiàng) 點(diǎn)擊確定, 重啟即可生效

三、分析數(shù)據(jù)來(lái)源

   https://tianqi.2345.com/Pc/GetHistory?areaInfo%5BareaId%5D=54511&areaInfo%5BareaType%5D=2&date%5Byear%5D=2022&date%5Bmonth%5D=7

四、代碼實(shí)現(xiàn)

   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í)!


文章題目:如何用Python爬取天氣數(shù)據(jù)
網(wǎng)頁(yè)URL:http://weahome.cn/article/igcgci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部