中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Python爬取天氣數據

發布時間:2022-10-10 17:12:57 來源:億速云 閱讀:207 作者:iii 欄目:web開發

本篇內容主要講解“如何用Python爬取天氣數據”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何用Python爬取天氣數據”吧!

一、[知識點]:

   動態數據抓包

   requests發送請求

   結構化+非結構化數據解析

二、[開發環境]:

   python 3.8               運行代碼

   pycharm 2021.2           輔助敲代碼

   requests                 第三方模塊  pip install 模塊名

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

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

2. 點擊齒輪, 選擇add

3. 添加python安裝路徑

五、pycharm如何安裝插件

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

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

  3. 選擇相應的插件點擊 install(安裝) 即可

  4. 安裝成功之后 是會彈出 重啟pycharm的選項 點擊確定, 重啟即可生效


三、分析數據來源

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

四、代碼實現

   1. 發送請求

   2. 獲取數據

   3. 解析數據

   4. 保存數據

import requests         # 發送請求 第三方模塊
import parsel           # 解析網頁源代碼的 第三方模塊
import csv

with open('天氣數據.csv', encoding='utf-8', mode='a', newline='') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow(['日期', '最高溫度', '最低溫度', '天氣', '風向', '城市'])
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. 發送請求
            response = requests.get(url)
            # <Response [200]>
            # 2. 獲取數據  .json(): 字典類型的數據 鍵值對方式取值
            json_data = response.json()
            # 3. 解析數據
            # 字典取值  json(): {"":"", "":""}
            html_data = json_data['data']
            # 結構化數據 字典鍵值對取值
            # 非結構化數據 網頁源代碼 css/xpath/re
            select = parsel.Selector(html_data)
            trs = select.css('table tr')        # 32個tr  每個tr都有六個td
            # [1, 2, 3, 4, 5]   [1]
            for tr in trs[1:]:
                # 取標簽里面的文本內容
                # ::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. 保存數據
                with open('天氣數據.csv', encoding='utf-8', mode='a', newline='') as f:
                    csv_writer = csv.writer(f)
                    csv_writer.writerow(tds)

到此,相信大家對“如何用Python爬取天氣數據”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大兴区| 大邑县| 民县| 德惠市| 泸溪县| 义乌市| 库车县| 华阴市| 广安市| 德保县| 广水市| 文成县| 成安县| 铜川市| 营山县| 兴山县| 柏乡县| 安乡县| 青铜峡市| 神农架林区| 上虞市| 班戈县| 定兴县| 穆棱市| 封开县| 揭东县| 临夏县| 沧州市| 兴国县| 平顶山市| 慈利县| 丹棱县| 永兴县| 天长市| 绩溪县| 北票市| 太原市| 镇远县| 会昌县| 酒泉市| 怀远县|