前提
ウェザーニューズをスクレイピングしたいが参考サイトの様に情報を取り出せない。
参考サイト
https://www.google.com/amp/s/www.autumn-color.com/archives/1654%3famp=1
実現したいこと
ここに実現したいことを箇条書きで書いてください。
- 参考サイトの様に表示させる。
- 天気によって表示画像を変える。(晴れは太陽など)
発生している問題・エラーメッセージ
どの変数でどうやって情報を取り出したら良いか分からない。
該当のソースコード
javascript
1#緯度経度を取得 2def Location(address): 3 Url = "https://www.geocoding.jp/api/" 4 Params = {"q":address} 5 Req = requests.get(Url, params=Params) 6 Soup = BeautifulSoup(Req.text, 'lxml') 7 8 9 return Soup.find("lat").text, Soup.find("lng").text 10 11 12#WeatherNewsの取得 13def WeatherNews(address): 14 Url = "https://weathernews.jp/onebox/" 15 16 #緯度経度を取得 17 (Lat, Lng) = Location(address) 18 19 SrhUrl = Url + Lat + '/' + Lng + "/lang=ja" 20 21 Req = requests.get(SrhUrl) 22 Soup = BeautifulSoup(Req.text, 'lxml') 23 24 #Dict 25 myDict = {} 26 27 #天気 28 myDict["天気"] = Soup.find(class_="sub").text.split(", ")[1] 29 30 #気温 31 myDict["気温"] = Soup.find(class_="obs_temp_main").text 32 33 #風速とかの情報 34 for val in Soup.find(class_="table-obs_sub").find_all("tr"): 35 myDict[val.find(class_="obs_sub_title").text] = val.find(class_="obs_sub_value").text.replace(" : ","") 36 37 return myDict 38 39def main(address): 40 print(address + "の天気") 41 print("---") 42 Rst = WeatherNews(address) 43 44 for val in Rst: 45 print(val, Rst[val]) 46 47 48if __name__ == '__main__': 49 main("石川県金沢市")
試したこと
console.log()等で調べてみたのですが分からない。
回答1件