欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python獲取城市近7天天氣預(yù)報

 更新時間:2019年11月26日 10:15:24   作者:陳康、  
這篇文章主要介紹了基于Python獲取城市近7天天氣預(yù)報,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

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

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

http://www.weather.com.cn/weather/101200601.shtml

然后按F12開始分析網(wǎng)頁結(jié)構(gòu),找到各個標簽,并分析它們的作用。h1:日期;p:天氣;tem-span:最高溫;tem-i:最低溫;win:風(fēng);em:風(fēng)向;win-i:風(fēng)力。

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

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

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 '出現(xiàn)異常' #異常處理,防止出現(xiàn)錯誤

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('h1').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) #風(fēng)向,win1-win2
    level = day.find('p', 'win').find('i').get_text() #風(fēng)力
    weather_list.append([date, wea, tem_l, tem_h, win2, level])


def print_wea(weather_list):
  s = ' \t' * 3
  print(s.join(('日期', '天氣', '最低溫', '最高溫', '風(fēng)向', '風(fēng)力')))
  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天天氣預(yù)報")
  print_wea(wea_list)

if __name__ == '__main__':
  main()

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

相關(guān)文章

  • 淺談一下Python中5種下劃線的含義

    淺談一下Python中5種下劃線的含義

    這篇文章主要介紹了Python中5種下劃線的含義,在我們學(xué)習(xí)Python的過程中,經(jīng)常會遇到一些帶下劃線的詞,那么不同的下劃線有什么意義呢,一起來學(xué)習(xí)一下吧
    2023-03-03
  • python神經(jīng)網(wǎng)絡(luò)VGG16模型復(fù)現(xiàn)及其如何預(yù)測詳解

    python神經(jīng)網(wǎng)絡(luò)VGG16模型復(fù)現(xiàn)及其如何預(yù)測詳解

    這篇文章主要為大家介紹了VGG16模型的復(fù)現(xiàn)及其詳解(包含如何預(yù)測),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 利用Python3編寫一個電腦錄屏神器

    利用Python3編寫一個電腦錄屏神器

    這篇文章主要為大家詳細介紹了如何利用Python3編寫一個簡易的電腦錄屏神器,文中的示例代碼講解詳細,感興趣的小伙伴可以動手嘗試一下
    2022-08-08
  • Python中threading模塊的Lock和RLock區(qū)別詳解

    Python中threading模塊的Lock和RLock區(qū)別詳解

    這篇文章主要介紹了Python中threading模塊的Lock和RLock區(qū)別詳解,Lock鎖是Python的原始鎖,在鎖定時不屬于任何一個線程,在調(diào)用了 lock.acquire() 方法后,進入鎖定狀態(tài),lock.release()方法可以解鎖,底層是通過一個函數(shù)來實現(xiàn)的,需要的朋友可以參考下
    2023-09-09
  • python實現(xiàn)打印類的所有屬性和方法

    python實現(xiàn)打印類的所有屬性和方法

    這篇文章主要介紹了python實現(xiàn)打印類的所有屬性和方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式(網(wǎng)站logo圖標)動起來

    Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式(網(wǎng)站logo圖標)動起來

    這篇文章主要介紹了Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式并且讓你的網(wǎng)站Logo(圖標)從此”動”起來,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python常見數(shù)字運算操作實例小結(jié)

    Python常見數(shù)字運算操作實例小結(jié)

    這篇文章主要介紹了Python常見數(shù)字運算操作,結(jié)合實例形式總結(jié)分析了Python數(shù)字常見的四則運算、整除、取余、開平方等相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-03-03
  • 全面了解Python的getattr(),setattr(),delattr(),hasattr()

    全面了解Python的getattr(),setattr(),delattr(),hasattr()

    下面小編就為大家?guī)硪黄媪私釶ython的getattr(),setattr(),delattr(),hasattr()。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • python?使用turtle實現(xiàn)實時鐘表并生成exe

    python?使用turtle實現(xiàn)實時鐘表并生成exe

    這篇文章主要為大家詳細介紹了python使用Turtle庫繪制動態(tài)鐘表,并有需要可以生成exe可執(zhí)行文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 解決django.db.utils.IntegrityError:(1048, Column last_login cannot be null)

    解決django.db.utils.IntegrityError:(1048, Column las

    這篇文章主要介紹了解決django.db.utils.IntegrityError:(1048, Column last_login cannot be null)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論