国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:2日期:2022-08-05 17:51:57

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

好東西要學(xué)會(huì)分享,因此小編打算分三個(gè)步驟來(lái)教大家實(shí)現(xiàn),最后會(huì)給出源代碼。

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

# 小技巧:pycharm中,alt+enter快捷鍵可快速安裝缺失庫(kù)import jsonimport requests# 爬取愛(ài)詞霸每日雞湯def get_iciba_everyday_chicken_soup(): url = ’http://open.iciba.com/dsapi/’ # 詞霸免費(fèi)開(kāi)放的jsonAPI接口 r = requests.get(url) all = json.loads(r.text) # 獲取到j(luò)son格式的內(nèi)容,內(nèi)容很多 # print(all) # json內(nèi)容,通過(guò)這行代碼來(lái)確定每日一句的鍵名 Englis = all[’content’] # 提取json中的英文雞湯 Chinese = all[’note’] # 提取json中的中文雞湯 everyday_soup = Englis+’n’+Chinese # 合并需要的字符串內(nèi)容 return everyday_soup # 返回結(jié)果print(get_iciba_everyday_chicken_soup())

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

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

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

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

import urllib.request # 需要安裝 urllib 庫(kù)from bs4 import BeautifulSoup #需要安裝 bs4 庫(kù)def get_weather(city_pinyin): # 聲明頭,模擬真人操作,防止被反爬蟲(chóng)發(fā)現(xiàn) header = {’User-Agent’: ’Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0’} # 通過(guò)傳入的城市名拼音參數(shù)來(lái)拼接出該城市的天氣預(yù)報(bào)的網(wǎng)頁(yè)地址 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: # 遍歷獲取各項(xiàng)數(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 # 返回結(jié)果# 調(diào)用封裝號(hào)好的函數(shù)獲取天氣預(yù)報(bào),參數(shù)‘chongqing’是重慶的拼音:print(get_weather(’chongqing’)) # 想查詢(xún)哪個(gè)城市的天氣情況,直接將參數(shù)替換為它的拼音即可

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

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

經(jīng)過(guò)了第一步和第二步是不是覺(jué)得爬取雞湯和天氣預(yù)報(bào)并沒(méi)有想象中難呢,只用了20多行代碼就搞定啦。代碼有不懂的結(jié)合注釋多思考就好了,實(shí)在想不通就提問(wèn)。

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

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

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

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

總結(jié)

到此這篇關(guān)于40行Python代碼實(shí)現(xiàn)天氣預(yù)報(bào)和每日雞湯推送 的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)天氣預(yù)報(bào)和每日雞湯推送內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 桦川县| 牙克石市| 武城县| 仪陇县| 麦盖提县| 柳林县| 邮箱| 时尚| 乌鲁木齐县| 四平市| 彰化县| 武义县| 黄骅市| 西贡区| 靖西县| 湾仔区| 荣成市| 平潭县| 大关县| 河东区| 云梦县| 基隆市| 抚顺市| 临潭县| 化州市| 凤山县| 榆社县| 鄢陵县| 陕西省| 新巴尔虎右旗| 门头沟区| 苗栗市| 聊城市| 宁夏| 资溪县| 南华县| 安庆市| 凤冈县| 岳阳县| 疏勒县| 呼图壁县|