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

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

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

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

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

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

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

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

分析的差不多了,我們就開始寫代碼,下面是我寫的全部代碼及運(yùn)行結(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)錯(cuò)誤

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'): #判斷標(biāo)簽'p','tem'下是否有標(biāo)簽'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ù)報(bào)")
  print_wea(wea_list)

if __name__ == '__main__':
  main()

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

相關(guān)文章

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

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

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

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

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

    利用Python3編寫一個(gè)電腦錄屏神器

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

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

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

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

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

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

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

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

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

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

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

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

    這篇文章主要為大家詳細(xì)介紹了python使用Turtle庫(kù)繪制動(dòng)態(tài)鐘表,并有需要可以生成exe可執(zhí)行文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    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)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論