亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

40行Python代碼實現(xiàn)天氣預報和每日雞湯推送功能

 更新時間:2020年02月27日 11:50:07   作者:小清華的小哥哥  
這篇文章主要介紹了通過40行Python代碼實現(xiàn)天氣預報和每日雞湯推送功能,代碼簡單易懂,非常不錯具有一定的參考借鑒價值 ,需要的朋友可以參考下

情人節(jié)剛過去幾天,但是這和我們程序員有什么關系呢,對我們來說,萬物皆對象。但是啊,小編為了討得仰慕已久的女神的歡心(真香),便用python爬取了愛詞霸網(wǎng)站的每日一句和天氣預報網(wǎng)站的天氣預報,并且每天定時將內(nèi)容推送到女神的手機短信中(代碼實現(xiàn),不需要短信費哦)。

好東西要學會分享,因此小編打算分三個步驟來教大家實現(xiàn),最后會給出源代碼。

第一步,實現(xiàn)爬取愛詞霸網(wǎng)站的每日一句: 愛詞霸的每日一句包括了英文版和中文版。爬取下來實際上4行有效代碼就能搞定,不過為了提高代碼的重用性,就將這個功能封裝成了一個函數(shù),以后需要時候用一行代碼調(diào)用它便行了。下面貼出第一步的源代碼,注釋寫得很詳細了,有不懂的可以在文章下面提問哦。

# 小技巧: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格式的內(nèi)容,內(nèi)容很多
 # print(all) # json內(nèi)容,通過這行代碼來確定每日一句的鍵名
 Englis = all['content'] # 提取json中的英文雞湯
 Chinese = all['note'] # 提取json中的中文雞湯
 everyday_soup = Englis+'\n'+Chinese # 合并需要的字符串內(nèi)容
 return everyday_soup # 返回結果

print(get_iciba_everyday_chicken_soup())

上面代碼執(zhí)行結果截圖如下:成功爬取每日雞湯,第一步實現(xiàn)。

soup

第二步,爬取天氣預報網(wǎng)站的天氣情況!

需要爬取的是天氣網(wǎng)站的數(shù)據(jù):http://www.tianqi.com/ 實現(xiàn)這個功能的所有代碼也封裝在了一個函數(shù)里面了,其實有效代碼不到20行。調(diào)用函數(shù)的時候傳入的參數(shù)改為對應城市的拼音就可。

import urllib.request # 需要安裝 urllib 庫
from bs4 import BeautifulSoup #需要安裝 bs4 庫


def get_weather(city_pinyin):
 # 聲明頭,模擬真人操作,防止被反爬蟲發(fā)現(xiàn)
 header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64;\
 rv:23.0) Gecko/20100101 Firefox/23.0'}
 # 通過傳入的城市名拼音參數(shù)來拼接出該城市的天氣預報的網(wǎng)頁地址
 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: # 遍歷獲取各項數(shù)據(jù)
  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 # 返回結果

# 調(diào)用封裝號好的函數(shù)獲取天氣預報,參數(shù)‘chongqing'是重慶的拼音:
print(get_weather('chongqing')) 
# 想查詢哪個城市的天氣情況,直接將參數(shù)替換為它的拼音即可

上面代碼執(zhí)行結果截圖如下:

tianqi

經(jīng)過了第一步和第二步是不是覺得爬取雞湯和天氣預報并沒有想象中難呢,只用了20多行代碼就搞定啦。代碼有不懂的結合注釋多思考就好了,實在想不通就提問。

現(xiàn)在只差最后一步了,雖然代碼也不多,但相比前面的而言還是比較麻煩的一步,過程有點繁瑣,小編當時繞了好久,畢竟想免費發(fā)短信出去就是在白嫖??!不過,別擔心,小編后面給你講的明明白白。

第三步,代碼實現(xiàn)免費發(fā)送短信功能!

這一步需要將第一步獲取的每日雞湯內(nèi)容和第二步獲取的城市天氣預報內(nèi)容發(fā)送到手機短信,過程有點麻煩,為了講得更詳細,小編決定另寫一篇blog教大家實現(xiàn)最關鍵的一步。寫完地址會更新貼出來。

最后一步,文章鏈接:Python15行代碼實現(xiàn)免費發(fā)送手機短信

總結

到此這篇關于40行Python代碼實現(xiàn)天氣預報和每日雞湯推送 的文章就介紹到這了,更多相關python實現(xiàn)天氣預報和每日雞湯推送內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論