인터넷을 통해 기상 경보 알림을 스캔하다.
9354 단어 RaspberryPi웹 검색Python
트위터에 경보 알려주세요.
동기
갑자기
고등학생입니다.
학교는 경보 때문에 방학한다.
반응이 좋지 않은 NHK 데이터 방송에서 경보를 하나하나 확인하는 경건한 시간이 너무 빡빡하기 때문에 반드시 트위터에 자동으로 알려주길 바란다.예.
문제
경고 API가 전혀 없는 것 같습니다.
찾아보았지만 "뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌뿌
...
웹 스캔!!
바로 이거!!
환경
이당
# coding: UTF-8
#!/usr/bin/env python3
from urllib import request
from bs4 import BeautifulSoup
from datetime import datetime
import time
import twitter
OK = '33[92m'
WARN = '33[93m'
NG = '33[91m'
END_CODE = '33[0m'
api = twitter.Api(consumer_key='あ、あなたの', consumer_secret='秘密を', access_token_secret='こ、ここに入れるのよ')
# アクセスするURL
url = "https://typhoon.yahoo.co.jp/weather/jp/warn/なんか/番号/"
def Getter(soup):
Summaryarea = soup.findAll("div", class_="warnSummary_box")
# print(Summaryarea[0].dl)
Li = Summaryarea[0].dl.dd.ul.li
# adv = Li.find("span",class_="icoAdvisory")#警報知らせ
adv = Li.find("span", class_="icoWarning") # 注意報知らせ
if adv:
# Yes
# print("OK")
return 1
else:
# No
# print("NO")
return 0
def Twit(state):
nowtime = datetime.now()
NowStr = str(nowtime.hour) + "時" + str(nowtime.minute) + "分現在"
Txt = ""
if state:
Txt = "\nなんとか市に警報が発令されてるみたい。。。\nべっ別に学校休みだからって喜んだりしないんだからねっ!!"
else:
Txt = "\nなんとか市には警報出てないみたいね。\n変な悪あがきはやめてさっさと学校に行くことね。"
status = api.PostUpdate("[気象警報自動通知システム]\n" + NowStr + Txt)
print(status.text)
def Coloring(txt, code):
return "\033[%sm%s\033[0m" % (code, txt)
def main():
while 1:
print("Now " + ntStr)
print("Its time!")
# 読み込み
html = request.urlopen(url).read()
soup = BeautifulSoup(html, "html.parser")
Twit(Getter(soup))
if Getter(soup):
# 警報でてら
print(Coloring("!!!!WARNING!!!!", "31"))
else:
# 警報でとらん
print(Coloring("ALLGREEN", "32"))
time.sleep(60 * 3)
if __name__ == "__main__":
main()
미안합니다.사이트 주소는 Yahoo 날씨 경보 페이지입니다.
결과
삭제합니다.
느낌이 좋다.
개선점
이것을 라즈파와 연합해서 경보가 울리면 집 열쇠를 닫아라
Reference
이 문제에 관하여(인터넷을 통해 기상 경보 알림을 스캔하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rkunkunr/items/c3345021ff320367131c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)