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

溫馨提示×

溫馨提示×

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

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

基于Python如何獲取城市近7天天氣預報

發布時間:2021-04-21 10:06:43 來源:億速云 閱讀:382 作者:小新 欄目:開發技術

小編給大家分享一下基于Python如何獲取城市近7天天氣預報,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Python主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

這篇文章主要介紹了基于Python獲取城市近7天天氣預報,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

首先,我們打開中國天氣網,找到黃石市近7天天氣的網頁。

基于Python如何獲取城市近7天天氣預報

然后按F12開始分析網頁結構,找到各個標簽,并分析它們的作用。h2:日期;p:天氣;tem-span:最高溫;tem-i:最低溫;win:風;em:風向;win-i:風力。

基于Python如何獲取城市近7天天氣預報

接下來,我們需要找到它的用戶代理,即User-agent。

基于Python如何獲取城市近7天天氣預報

分析的差不多了,我們就開始寫代碼,下面是我寫的全部代碼及運行結果:

import re
import requests
from bs4 import BeautifulSoup

def get_page(url): #獲取URL
  try:
    headers = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36'}
    r = requests.get(url,headers)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    return r.text
  except:
    return '出現異常' #異常處理,防止出現錯誤

def parse_page(html, weather_list):
  soup = BeautifulSoup(html, 'html.parser')
  day_list = soup.find('ul', 't clearfix').find_all('li')
  for day in day_list:
    date = day.find('h2').get_text()
    wea = day.find('p', 'wea').get_text()
    if day.find('p', 'tem').find('span'): #判斷標簽'p','tem'下是否有標簽'span',以此判斷是否有最高溫
        tem_h = day.find('p', 'tem').find('span').get_text()
    else:
        tem_h = '' #最高溫
    tem_l = day.find('p', 'tem').find('i').get_text() #最低溫
    win1 = re.findall('(?<= title=").*?(?=")', str(day.find('p','win').find('em')))
    win2 = '-'.join(win1) #風向,win1-win2
    level = day.find('p', 'win').find('i').get_text() #風力
    weather_list.append([date, wea, tem_l, tem_h, win2, level])


def print_wea(weather_list):
  s = ' \t' * 3
  print(s.join(('日期', '天氣', '最低溫', '最高溫', '風向', '風力')))
  for i in weather_list:
    print(i[0], '\t',i[1],'\t\t\t',i[2],'\t\t\t',i[3],'\t\t',i[4],'\t\t',i[5]) #按格式輸出

def main():
  url = 'http://www.weather.com.cn/weather/101200601.shtml'
  html = get_page(url)
  wea_list = []
  parse_page(html, wea_list)
  print("\t\t\t\t\t\t\t\t\t黃石市近7天天氣預報")
  print_wea(wea_list)

if __name__ == '__main__':
  main()

基于Python如何獲取城市近7天天氣預報

在格式輸出這方面,我的這份代碼還存在著很大的缺陷,把它發出來,歡迎大家跟我一起討論,改進。

以上是“基于Python如何獲取城市近7天天氣預報”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

沛县| 凯里市| 温宿县| 新津县| 根河市| 洛南县| 个旧市| 赤壁市| 新化县| 嘉定区| 英德市| 和顺县| 崇阳县| 东方市| 昆山市| 乐陵市| 尉犁县| 峨山| 如东县| 来宾市| 浪卡子县| 大宁县| 建平县| 微山县| 石城县| 富阳市| 长海县| 奇台县| 昌吉市| 博兴县| 开化县| 克拉玛依市| 仲巴县| 天峨县| 台东县| 靖远县| 湘乡市| 巴林右旗| 黄陵县| 阿拉善右旗| 双江|