from datetime import datetime
import time
import requests
from bs4 import BeautifulSoup

#天気の情報を取得する
#https://weather.yahoo.co.jp/weather/このサイトから地域を選択

weather_url = "" #選択した地域のURLを入力してください。

response = requests.get(weather_url)
html = BeautifulSoup(response.text, "html5lib")
forecastcity = html.find_all("div", attrs={"class":"forecastCity"})[0]

# 今日の天気
today = forecastcity.find_all("div")[0]
today_weather = today.find_all("p", attrs ={"class" :  "pict"})[0].text.replace("\n","").replace(" ","")
today_high = today.find_all("li")[0].text
today_low = today.find_all("li")[1].text
today.find_all("td")
today_rain_06 = today.find_all("td")[4].text
today_rain_12 = today.find_all("td")[5].text
today_rain_18 = today.find_all("td")[6].text
today_rain_24 = today.find_all("td")[7].text

# 今日の天気のメッセージ(LINEで表示される)
today_message="""
今日の天気は{}
・最高気温:{}
・最低気温:{}
【降水確率】
0-6時:{}、6-12時:{}、12-18時:{}、18-24時:{}
""".format(today_weather, today_high, today_low, today_rain_06, today_rain_12, today_rain_18, today_rain_24)

#アクセストークンを以下に設定
acc_token= "" #ご自身のLINEトークンを入力してください。

#PythonからLINEを送る
def send_line(msg):
    #サーバーに送るパラメーターを用意
    url='https://notify-api.line.me/api/notify'
    headers={'Authorization': 'Bearer ' + acc_token}
    payload={'message': msg}
    requests.post(url, headers=headers, params=payload)

while True:
    #時間を00:00:00のフォーマットに変換
    s=datetime.now().strftime('%H:%M:%S')
    if s < "": #51行目と同じ時刻を00:00:00のフォーマットで入力してください。
        print(s)
    if s == "": #お好きな時刻を00:00:00のフォーマットで入力してください。
        send_line(today_message)
    time.sleep(1)

#このプログラミングをレンタルサーバ上にアップしておけば、設定した時刻に勝手に天気情報が送られてくる。
#もしくはパソコンを起動している場合にこのプログラミングが実行される。