黄石市は、ほぼ7日はPythonで天気予報を取得します

  まず、我々はページ黄石ほぼ7日間の天気を見つけ、中国の気象ネットワークを開きます。http://www.weather.com.cn/weather/101200601.shtml

  その後、F12を押して、ページの構造の分析を開始、各ラベルを見つけて、その役割を分析します。H1:日付; P:天候; TEM-スパン:最高温度; TEM-I:最低温度;勝つ:風; EM:風の方向を、勝つ-Iを:風を。


  次に、我々はそれをユーザーエージェントを見つける必要があり、それがユーザーエージェントです。


  それについての分析は、我々は、ここで私はすべてのコードと業績を書いたものである書き込みコードを開始しました:

インポートインポート要求
 から BS4 輸入BeautifulSoup

DEF(URL)をget_page: GETのURL 
    試み
        ヘッダー = { ' ユーザーエージェント'' のMozilla / 5.0(のWindows NT 6.1、Win64の、のx64)のAppleWebKit / 537.36(ヤモリ様KHTML)クローム/ 75.0.3770.90サファリ/ 537.36 ' }
        R = requests.get(URL、ヘッダ)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
         リターンr.text
     除くリターン 異常 #のエラーを防ぐため、例外処理を

デフparse_page(HTML、weather_list):
    スープ = BeautifulSoup(HTML、' html.parser ' 
    DAY_LIST = soup.find(' UL '' T clearfix ').find_all(' ' のためのDAY_LIST:
        日付 = day.find(' H1 ' ).get_text()
        WEA = day.find(' P '' WEA ' ).get_text()
         IF day.find(' P '' TEM ').find(' スパン'):#1 の分析タグ'P'、 'TEM'下これは、最高温度があるかどうかを判断するために、ラベル「スパン」です 
                tem_h = day.find(P TEM ).find(スパン).get_text()
         他には
                tem_h = ''  最高温度 
        tem_l = day.find(' P '' TEM ').find(' I ').get_text() 最低気温 
        WIN1 re.findall =(" (?<=タイトル=「) 。*?(?=「) 'STR(day.find( ' P- ' ' 勝つ').find(' EM " )))
        WIN2 = ' - ' .join(WIN1) 风向、WIN1、WIN2 
        レベル= day.find(' P '' 勝利').find(' I ').get_text() 风力
        weather_list.append([日付、 WEA、tem_l、tem_h、WIN2、レベル])


デフprint_wea(weather_list):
    S = ' \ T ' * 3。
     印刷(s.join((' 日付'' 天気'' 最も低い'' 最高気温'' '' ' )))
     のための I weather_list:
         印刷( I [0]、' \ T '、I [1]、' \ T \ T \ T '、I [2]、' \ T \ T \ T '、I [3]、[\ T \ T "、I [4]、' \ T \ T '、I [5]) を押して出力形式

デフメイン():
    URL = ' http://www.weather.com.cn/weather/101200601.shtml ' 
    HTML = get_page(URL)
    wea_list = []
    parse_page(HTML、wea_list)
    印刷" \ T \ T \ T \ T \ T \ T \ T \ T \ T黄石ほぼ7日間の天気予報" 
    print_wea(wea_list)

もし __name__ == ' __main__ ' 
    メイン()

  このような状況の出力形式では、私のコードはこれです、欠点の多くは、それが来ていたと私は改善を議論するためにあなたを歓迎し、残っています。

おすすめ

転載: www.cnblogs.com/Chen-K/p/11922228.html