您好,登錄后才能下訂單哦!
這篇文章主要介紹Python如何實現天氣預報和每日雞湯推送功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
情人節剛過去幾天,但是這和我們程序員有什么關系呢,對我們來說,萬物皆對象。但是啊,小編為了討得仰慕已久的女神的歡心(真香),便用python爬取了愛詞霸網站的每日一句和天氣預報網站的天氣預報,并且每天定時將內容推送到女神的手機短信中(代碼實現,不需要短信費哦)。
好東西要學會分享,因此小編打算分三個步驟來教大家實現,最后會給出源代碼。
第一步,實現爬取愛詞霸網站的每日一句: 愛詞霸的每日一句包括了英文版和中文版。爬取下來實際上4行有效代碼就能搞定,不過為了提高代碼的重用性,就將這個功能封裝成了一個函數,以后需要時候用一行代碼調用它便行了。下面貼出第一步的源代碼,注釋寫得很詳細了,有不懂的可以在文章下面提問哦。
# 小技巧:pycharm中,alt+enter快捷鍵可快速安裝缺失庫 import json import requests # 爬取愛詞霸每日雞湯 def get_iciba_everyday_chicken_soup(): url = 'http://open.iciba.com/dsapi/' # 詞霸免費開放的jsonAPI接口 r = requests.get(url) all = json.loads(r.text) # 獲取到json格式的內容,內容很多 # print(all) # json內容,通過這行代碼來確定每日一句的鍵名 Englis = all['content'] # 提取json中的英文雞湯 Chinese = all['note'] # 提取json中的中文雞湯 everyday_soup = Englis+'\n'+Chinese # 合并需要的字符串內容 return everyday_soup # 返回結果 print(get_iciba_everyday_chicken_soup())
上面代碼執行結果截圖如下:成功爬取每日雞湯,第一步實現。
第二步,爬取天氣預報網站的天氣情況!
需要爬取的是天氣網站的數據:http://www.tianqi.com/ 實現這個功能的所有代碼也封裝在了一個函數里面了,其實有效代碼不到20行。調用函數的時候傳入的參數改為對應城市的拼音就可。
import urllib.request # 需要安裝 urllib 庫 from bs4 import BeautifulSoup #需要安裝 bs4 庫 def get_weather(city_pinyin): # 聲明頭,模擬真人操作,防止被反爬蟲發現 header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64;\ rv:23.0) Gecko/20100101 Firefox/23.0'} # 通過傳入的城市名拼音參數來拼接出該城市的天氣預報的網頁地址 website = "http://www.tianqi.com/" + city_pinyin + ".html" req = urllib.request.Request(url=website, headers=header) page = urllib.request.urlopen(req) html = page.read() soup = BeautifulSoup(html.decode("utf-8"), "html.parser") # html.parser表示解析使用的解析器 nodes = soup.find_all('dd') tody_weather = "" for node in nodes: # 遍歷獲取各項數據 temp = node.get_text() if (temp.find('[切換城市]')): temp = temp[:temp.find('[切換城市]')] tody_weather += temp # 去除字符串中的空行: tianqi = "".join([s for s in tody_weather.splitlines(True) if s.strip()]) return tianqi # 返回結果 # 調用封裝號好的函數獲取天氣預報,參數‘chongqing'是重慶的拼音: print(get_weather('chongqing')) # 想查詢哪個城市的天氣情況,直接將參數替換為它的拼音即可
上面代碼執行結果截圖如下:
經過了第一步和第二步是不是覺得爬取雞湯和天氣預報并沒有想象中難呢,只用了20多行代碼就搞定啦。代碼有不懂的結合注釋多思考就好了,實在想不通就提問。
現在只差最后一步了,雖然代碼也不多,但相比前面的而言還是比較麻煩的一步,過程有點繁瑣,小編當時繞了好久,畢竟想免費發短信出去就是在白嫖啊!不過,別擔心,小編后面給你講的明明白白。
第三步,代碼實現免費發送短信功能!
這一步需要將第一步獲取的每日雞湯內容和第二步獲取的城市天氣預報內容發送到手機短信,過程有點麻煩,為了講得更詳細,小編決定另寫一篇blog教大家實現最關鍵的一步。寫完地址會更新貼出來。
Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。
以上是“Python如何實現天氣預報和每日雞湯推送功能”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。