LINE天氣概況機器人:使用Python傳送氣象局最新天氣概況

以前有搭配IFTTT開發過2個LINE機器人,不過必須和IFTTT結合,彈性較低。本文直接與LNIE官方API串接。

2020/06/24更新 - [Python爬蟲教學]Python網頁爬蟲結合LINE Notify打造自動化訊息通知服務

https://www.learncodewithmike.com/2020/06/python-line-notify.html

需要IFTTT服務的LINE機器人

PM2.5的Line機器人:使用Python + IFTTT 傳送最新PM2.5數值

匯率的Line機器人:使用Python + IFTTT 傳送最新匯率資訊

在使用本文的程式碼之前,必須先透過下文的教學,取得 TOKEN

使用Python快速建立專屬的LINE BOT機器人(Create Your Own Line BOT in 5 Minutes)

import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()#關閉瀏覽器跳出訊息
prefs = {
'profile.default_content_setting_values' :
{
'notifications' : 2
}
}
options.add_experimental_option('prefs',prefs)
options.add_argument("--headless") #不開啟實體瀏覽器背景執行
options.add_argument("--incognito") #開啟無痕模式
driver = webdriver.Chrome(options=options)#ID改成需要的行政區域driver.get("https://www.cwb.gov.tw/V8/C/W/Town/Town.html?TID=6400900") #抓取氣溫、體感溫度、濕度、降雨量、日出與日落時間
Temp = driver.find_element_by_id('GT_C_T').text
bodyTemp = driver.find_element_by_id('GT_C_AT').text
RelativeHumidity = driver.find_element_by_id('GT_RH').text
Rain = driver.find_element_by_id('GT_Rain').text
Sunrise = driver.find_element_by_id('GT_Sunrise').text
Sunset = driver.find_element_by_id('GT_Sunset').text
driver.quit()
#建立LINE訊息要出現的內容
content="\n"+"前鎮區天氣概況"+"\n"+"\n"+"現在溫度 : "+Temp+"°C"+"\n"+"體感溫度 : "+bodyTemp+"°C"+"\n"+"相對溼度 : "+RelativeHumidity+"%"+"\n"+"降雨量 : "+Rain+"mm"+"\n"+"日出時間 : "+Sunrise+"\n"+"日落時間 : "+Sunset
#建立一個傳送訊息的函式
def lineNotifyMessage(token, msg):
headers = {
"Authorization": "Bearer " + token,
"Content-Type" : "application/x-www-form-urlencoded"
}
payload = {'message': msg}
r = requests.post("https://notify-api.line.me/api/notify", headers = headers, params = payload)
return r.status_code
#修改為你的權杖內容(將yourToken換成在申請到的LINE官方Token)
token = 'yourToken'
lineNotifyMessage(token, content)

Written by

Machine Learning / Deep Learning / Python / Flutter cakeresume.com/yanwei-liu

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store