เจเฉฑเจฅเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจธเฉเจตเจพเจตเจพเจ เจนเจจ เจเฉ เจฎเฉเจธเจฎ เจฆเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉเจเจ เจนเจจ, เจชเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเจธ 'เจคเฉ เจญเจฐเฉเจธเจพ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ? เจเจฆเฉเจ เจฎเฉเจ เจ
เจเจธเจฐ เจธเจพเจเจเจฒ เจเจฒเจพเจเจฃเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ, เจคเจพเจ เจฎเฉเจ เจเจธ เจเจเฉเจนเจพ เจฆเฉ เจฎเฉเจธเจฎ เจฌเจพเจฐเฉ เจธเจญ เจคเฉเจ เจธเจนเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ เจเจฟเฉฑเจฅเฉ เจฎเฉเจ เจธเจตเจพเจฐเฉ เจเจฐเจฆเจพ เจนเจพเจเฅค
เจฎเฉเจฐเจพ เจชเจนเจฟเจฒเจพ เจตเจฟเจเจพเจฐ เจธเฉเจเจธเจฐเจพเจ เจจเจพเจฒ เจเฉฑเจ เจเฉเจเจพ DIY เจฎเฉเจธเจฎ เจธเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃเจพ เจ
เจคเฉ เจเจธ เจคเฉเจ เจกเฉเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจธเฉเฅค เจชเจฐ เจฎเฉเจ "เจชเจนเฉเจ เจจเฉเฉฐ เจฎเฉเฉ เจเฉเจ" เจจเจนเฉเจ เจเฉเจคเจพ เจ
เจคเฉ เจฎเฉเจธเจฎ เจฆเฉ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจเฉเจฃเจฟเจ เจเฉ เจจเจพเจเจฐเจฟเจ เจนเจตเจพเจฌเจพเจเจผเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจกเฉเจเจพ เจฆเฉ เจธเจฐเฉเจค เจตเจเฉเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจ
เจฐเจฅเจพเจค เจฎเฉเจเจฐ (เจฎเฉเจเจฐเฉเจฒเฉเจเฉเจเจฒ เจเจฐเฉเจกเจฐเฉเจฎ เจฐเจฟเจชเฉเจฐเจ) เจ
เจคเฉ เจเจพเฉฑเจซ (TAF - เจเจฐเจฎเฉเจจเจฒ เจเจฐเฉเจกเจฐเฉเจฎ เจซเฉเจฐเจเจพเจธเจ)เฅค เจนเจตเจพเจฌเจพเจเจผเฉ เจตเจฟเฉฑเจ, เจธเฉเจเจเฉเฉ เจฒเฉเจเจพเจ เจฆเฉ เจเจผเจฟเฉฐเจฆเจเฉ เจฎเฉเจธเจฎ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเฉ, เจเจธ เจฒเจ เจชเฉเจฐเจต-เจ
เจจเฉเจฎเจพเจจ เจเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ เจธเจเฉ เจธเจนเฉ เจนเฉเฉฐเจฆเฉ เจนเจจเฅค
เจเจน เจเจพเจฃเจเจพเจฐเฉ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจ เจนเจฐ เจเจงเฉเจจเจฟเจ เจเจ
เจฐเจซเฉเจฒเจก 'เจคเฉ เจเจตเจพเจเจผ เจฆเฉเจเจฐเจพ XNUMX/XNUMX เจชเฉเจฐเจธเจพเจฐเจฟเจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจ.เจเฉ.เจเจ.เจเฉฑเจธ (เจเจเฉเจฎเฉเจเจฟเจ เจเจฐเจฎเฉเจจเจฒ เจเจจเจซเจฐเจฎเฉเจธเจผเจจ เจธเจฐเจตเจฟเจธ) เจ
เจคเฉ เจตเฉเจฒเจฎเฉเจ (เจซเฉเจฐเฉเจเจ เจคเฉเจเฅค เจตเจพเจฒเฉเจ
เจฎ - เจเจกเจพเจฃ เจ
เจคเฉ mรฉtรฉo - เจฎเฉเจธเจฎ). เจชเจนเจฟเจฒเจพ เจเจ
เจฐเจซเฉเจฒเจก 'เจคเฉ เจ
เจธเจฒ เจฎเฉเจธเจฎ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉ, เจ
เจคเฉ เจฆเฉเจเจพ เจ
เจเจฒเฉ 24-30 เจเฉฐเจเจฟเจเจ เจฒเจ เจชเฉเจฐเจต-เจ
เจจเฉเจฎเจพเจจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉ, เจจเจพ เจธเจฟเจฐเจซ เจชเฉเจฐเจธเจพเจฐเจฃ เจเจ
เจฐเจซเฉเจฒเจก 'เจคเฉ, เจธเจเฉเจ เจนเฉเจฐเจพเจ 'เจคเฉ เจตเฉเฅค
Vnukovo เจนเจตเจพเจ เจ
เฉฑเจกเฉ 'เจคเฉ ATIS เจเจพเจฐเจตเจพเจ เจฆเฉ เจเจฆเจพเจนเจฐเจจ:
VOLMET เจตเจจเฉเจเฉเจตเฉ เจนเจตเจพเจ เจ
เฉฑเจกเฉ 'เจคเฉ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ เจเจธเจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจฃ
เจ เจจเฉเจธเจพเจฐเฉ เจฐเฉเจเจ เจฒเจ เจนเจฐ เจตเจพเจฐ เจเจชเจฃเฉ เจจเจพเจฒ เจฐเฉเจกเฉเจ เจธเจเฉเจจเจฐ เจเจพเจ เจเฉเจฐเจพเจเจธเจธเฉเจตเจฐ เจฒเฉ เจเฉ เจเจพเจฃเจพ เจ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ, เจ เจคเฉ เจฎเฉเจ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจตเจฟเฉฑเจ เจเฉฑเจ เจฌเฉเจ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ เจเฉ, เจเฉฑเจ เจฌเจเจจ เจฆเฉ เจเจฒเจฟเจ เจคเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจนเฉ เจชเฉเจฐเจต เจ เจจเฉเจฎเจพเจจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจธเจฆเฉ เจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเจพ เจธเจฐเจตเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ เจเฉฑเจเฉ เจเฉฑเจ เจ เจตเจฟเจตเจนเจพเจฐเจ เจนเฉ, เจจเจพเจฒ เจนเฉ เจคเฉเจนเจพเจกเฉ เจเจฐ เจฐเจพเจธเจฌเฉเจฐเฉ เจจเฉเฉฐ เจฌเฉเจจเจคเฉเจเจ เจญเฉเจเจฃเจพ.
เจเจธ เจฒเจ, เจฎเฉเจ เจธเฉเจตเจพ เจจเฉเฉฐ เจฌเฉเจเจเจเจก เจตเจเฉเจ เจตเจฐเจคเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ
เจฌเฉเจเจเจเจก เจฆเฉ เจคเจฟเจเจฐเฉ
เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจฌเจฃเจพเจ
เจเฉฐเจเจฐเฉเจฒ เจชเฉเจจเจฒ เจตเจฟเฉฑเจ
เจชเฉเจฐเฉเจเฉเจเจ เจฌเจฃเจพเจเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ, เจธเฉเจเจธเจผเจจ 'เจคเฉ เจเจพเจ เจซเฉฐเจเจธเจผเจจ:
เจฌเจเจจ เจจเฉเฉฐ เจฆเฉฑเจฌเฉ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจฌเจฃเจพเจ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจฒเฉเฉเฉเจเจฆเจพ เจจเจพเจฎ เจฆเจฟเจ:
เจฆเจฌเจพเจเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจฌเจฃเจพเจ เจธเจพเจกเฉ เจเฉเจฒ เจฌเจฃเจพเจ เจซเฉฐเจเจธเจผเจจ เจฆเฉ เจจเฉเจฎเจพเจเฉฐเจฆเจเฉ เจนเฉเจตเฉเจเฉ:
เจชเจพเจเจฅเจจ เจตเจฟเฉฑเจ เจเฉเจก เจฌเจฃเจพเจเจฃเจพ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจตเจฟเฉฑเจ เจเฉฑเจ เจฌเฉเจ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค เจฎเฉเจ เจตเจฐเจฃเจจ เจจเจนเฉเจ เจเจฐเจพเจเจเจพ เจเจฟ เจเจน เจเจฟเจตเฉเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ - เจเฉฑเจฅเฉ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจจเจฟเจฐเจฆเฉเจธเจผ เจนเจจ
เจเฉเจก เจคเจฟเจเจฐ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
เจฎเฉเจ เจญเจฐเฉเจธเฉเจฏเฉเจ เจกเฉเจเจพ เจฆเฉ เจธเจฐเฉเจค เจตเจเฉเจ เจฐเจพเจธเจผเจเจฐเฉ เจธเจฎเฉเฉฐเจฆเจฐเฉ เจ เจคเฉ เจตเจพเจฏเฉเจฎเฉฐเจกเจฒ เจชเฉเจฐเจธเจผเจพเจธเจจ (NOAA) เจจเฉเฉฐ เจเฉเจฃเจฟเจ เจนเฉเฅค เจเจน เจตเจฟเจเจฟเจเจจเจ เจเจเฉฐเจธเฉ TXT เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจเจชเจฃเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจฐเฉเจ เจฒ เจเจพเจเจฎ เจตเจฟเฉฑเจ เจกเจพเจเจพ เจ เฉฑเจชเจกเฉเจ เจเจฐเจฆเฉ เจนเฉเฅค
METAR เจกเฉเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจฒเจฟเฉฐเจ (เจเฉเจธ เจจเฉเจ เจเจฐเฉ):
https://tgftp.nws.noaa.gov/data/observations/metar/stations/<ะบะพะด ะฐััะพะฟะพััะฐ ะฟะพ ICAO>.TXT
เจฎเฉเจฐเฉ เจเฉเจธ เจตเจฟเฉฑเจ, เจธเจญ เจคเฉเจ เจจเจเจผเจฆเฉเจเฉ เจนเจตเจพเจ เจ เฉฑเจกเจพ Vnukovo เจนเฉ, เจเจธเจฆเจพ ICAO เจเฉเจก เจนเฉ UUWW. เจคเจฟเจเจฐ เจเฉเจคเฉ URL 'เจคเฉ เจเจพเจฃ เจจเจพเจฒ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจพเจฃเจเจพเจฐเฉ เจฎเจฟเจฒเฉเจเฉ:
2020/08/10 11:30
UUWW 101130Z 31004MPS 9999 SCT048 24/13 Q1014 R01/000070 NOSIG
เจชเจนเจฟเจฒเฉ เจฒเจพเจเจจ เจเฉเจฐเฉเจจเจตเจฟเจ เจฎเฉเจจ เจเจพเจเจฎ เจตเจฟเฉฑเจ เจชเฉเจฐเจต เจ เจจเฉเจฎเจพเจจ เจฆเจพ เจฎเฉเจเฉเจฆเจพ เจธเจฎเจพเจ เจนเฉเฅค เจฆเฉเจเฉ เจฒเจพเจเจจ เจ เจธเจฒ เจฎเฉเจธเจฎ เจฆเจพ เจธเจพเจฐ เจนเฉเฅค เจธเจฟเจตเจฒ เจเจตเฉเจเจธเจผเจจ เจชเจพเจเจฒเจเจพเจ เจจเฉเฉฐ เจเจน เจธเจฎเจเจฃ เจตเจฟเฉฑเจ เจเฉเจ เจธเจฎเฉฑเจธเจฟเจ เจจเจนเฉเจ เจนเฉเจตเฉเจเฉ เจเจฟ เจเจธ เจฒเจพเจเจจ เจฆเจพ เจเฉ เจ เจฐเจฅ เจนเฉ, เจชเจฐ เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจตเจฟเจเจเจฟเจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
- [UUWW] - เจตเจจเฉเจเฉเจตเฉ, เจฎเจพเจธเจเฉ (เจฐเฉเจธ - เจเจฐเจฏเฉ);
- [101130Z] โ เจฎเจนเฉเจจเฉ เจฆเฉ 10เจตเฉเจ เจฆเจฟเจจ, เจธเจตเฉเจฐเฉ 11:30 เจตเจเฉ GMT;
- [31004MPS] - เจนเจตเจพ เจฆเฉ เจฆเจฟเจธเจผเจพ 310 เจกเจฟเจเจฐเฉ, เจเจคเฉ 4 m/s;
- [9999] - เจนเจฐเฉเจเฉฑเจเจฒ เจฆเจฟเฉฑเจ 10 เจเจฟเจฒเฉเจฎเฉเจเจฐ เจเจพเจ เจตเฉฑเจง;
- [SCT048] - 4800 เจซเฉเฉฑเจ (~ 1584 เจฎเฉเจเจฐ) 'เจคเฉ เจเจฟเฉฐเจกเฉ เจนเฉเจ / เจเจฟเฉฐเจกเฉ เจนเฉเจ เจฌเฉฑเจฆเจฒ;
- [24 / 13] - เจคเจพเจชเจฎเจพเจจ 24ยฐC, เจคเฉเจฐเฉเจฒ เจฌเจฟเฉฐเจฆเฉ 13ยฐC;
- [เจชเฉเจฐ 1014] โ เจฆเจฌเจพเจ (QNH) 1014 เจนเฉเจเจเฉเจชเจพเจธเจเจฒ (750 mm Hg);
- [R01/000070] โ เจฒเฉเจจ 01 - 0,70 'เจคเฉ เจ เจกเจฟเจธเจผเจจ เจฆเจพ เจเฉเจฃเจพเจเจ;
- [NOSIG] - เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจคเฉเจ เจฌเจฟเจจเจพเจเฅค
เจเจ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจเฉเจก เจฒเจฟเจเจฃเจพ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเฅค เจชเจนเจฟเจฒเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจเจฏเจพเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจฌเฉเจจเจคเฉ ะธ pytaf:
from urllib import request
import pytaf
เจตเฉเจฐเฉเจเจฌเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเฉ เจ เจคเฉ เจกเฉเจเฉเจกเจฟเฉฐเจ เจซเฉฐเจเจธเจผเจจ เจคเจฟเจเจฐ เจเจฐเฉ:
URL_METAR = "https://tgftp.nws.noaa.gov/data/observations/metar/stations/UUWW.TXT"
URL_TAF = "https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/UUWW.TXT"
def parse_data(code):
code = code.split('n')[1]
return pytaf.Decoder(pytaf.TAF(code)).decode_taf()
เจเจ TAF เจตเฉฑเจฒ เจตเจงเฉเจ (เจเฉเจธ เจตเฉ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ)เฅค
https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/<ะบะพะด ะฐััะพะฟะพััะฐ ะฟะพ ICAO>.TXT
เจเจฟเจตเฉเจ เจเจฟ เจชเจฟเจเจฒเฉ เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ, เจเจ เจตเจจเฉเจเฉเจตเฉ เจนเจตเจพเจ เจ เฉฑเจกเฉ 'เจคเฉ เจชเฉเจฐเจต เจ เจจเฉเจฎเจพเจจ เจจเฉเฉฐ เจตเฉเจเฉเจ:
2020/08/10 12:21
TAF UUWW 101050Z 1012/1112 28003G10MPS 9999 SCT030 TX25/1012Z TN15/1103Z
TEMPO 1012/1020 -TSRA BKN020CB
BECMG 1020/1021 FEW007 BKN016
TEMPO 1021/1106 -SHRA BKN020CB PROB40
TEMPO 1021/1106 -TSRA BKN020CB
BECMG 1101/1103 34006G13MPS
เจเจ เจตเจฟเจธเจผเฉเจธเจผ เจคเฉเจฐ 'เจคเฉ เจฒเจพเจเจจเจพเจ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเฉเจเจ เจเฉเจฎเจชเฉ ะธ เจฌเฉ.เจ.เจธเฉ.เจเจฎ.เจเฉ. TEMPO เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจจเจฟเจฐเจงเจพเจฐเจค เจธเจฎเฉเจ เจฆเฉเจฐเจพเจจ เจ เจธเจฒ เจฎเฉเจธเจฎ เจธเจฎเฉเจ-เจธเจฎเฉเจ 'เจคเฉ เจฌเจฆเจฒเจฆเจพ เจฐเจนเฉเจเจพเฅค BECMG - เจฎเฉเจธเจฎ เจเฉฑเจ เจจเจฟเจธเจผเจเจฟเจค เจธเจฎเฉเจ เจฆเฉ เจ เฉฐเจฆเจฐ เจนเฉเจฒเฉ เจนเฉเจฒเฉ เจฌเจฆเจฒ เจเจพเจตเฉเจเจพเฅค
เจญเจพเจต, เจฒเจพเจเจจ:
TEMPO 1012/1020 -TSRA BKN020CB
เจฎเจคเจฒเจฌ เจนเฉเจตเฉเจเจพ:
- [1012 / 1020] - 12 เจ เจคเฉ 20 เจเฉฐเจเจฟเจเจ เจฆเฉ เจตเจฟเจเจเจพเจฐ (เจเฉเจฐเฉเจจเจตเจฟเจ เจฎเฉเจจ เจเจพเจเจฎ);
- [-TSRA] - เจคเฉเจซเจพเจจ (TS = เจฅเฉฐเจกเจฐเจธเจเจฎ) เจฎเฉเจเจน (RA = เจฎเฉเจเจน) เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจคเฉเจฌเจฐเจคเจพ (เจเจเจพเจ เจเจฟเฉฐเจจเฉเจน);
- [BKN020CB] - เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ (BKN = เจเฉเฉฑเจ), cumulonimbus (CB = cumulonimbus) เจธเจฎเฉเฉฐเจฆเจฐ เจคเจฒ เจคเฉเจ 2000 เจซเฉเฉฑเจ (610 เจฎเฉเจเจฐ) 'เจคเฉ เจฌเฉฑเจฆเจฒเฅค
เจฎเฉเจธเจฎ เจฆเฉ เจตเจฐเจคเจพเจฐเฉ เจฒเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจธเจผเจฌเจฆ เจนเจจ, เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจฏเจพเจฆ เจฐเฉฑเจเจฃเจพ เจฎเฉเจธเจผเจเจฒ เจนเฉเฅค TAF เจฌเฉเจจเจคเฉ เจฒเจ เจเฉเจก เจเจธเฉ เจคเจฐเฉเจนเจพเจ เจฒเจฟเจเจฟเจ เจเจฟเจ เจนเฉเฅค
เจเจฒเจพเจเจก 'เจคเฉ เจเฉเจก เจ เฉฑเจชเจฒเฉเจก เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจธเจฎเจพเจ เจฌเจฐเจฌเจพเจฆ เจจเจพ เจเจฐเจจ เจฒเจ, เจเจ เจเจชเจฃเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจเฉฑเจ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจฌเฉเจ เจเฉเจเจชเจฒเฉเจ เจฒเฉเจเจฆเฉ เจนเจพเจ
เจเจฟเจเจเจเจฟ เจเฉเจก เจตเจฟเฉฑเจ เจ เจธเฉเจ เจฎเฉเจกเฉเจเจฒ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐ เจฐเจนเฉ เจนเจพเจ pytaf, เจซเจฟเจฐ เจเจธเจฆเจพ เจธเฉฐเจธเจเจฐเจฃ เจคเฉเจฐเฉฐเจค เจเฉเฉเจฟเจ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจผเจฐเฉเจฐเจค. txt
pytaf~=1.2.1
- เจเจ เจธเฉฐเจชเจพเจฆเจจ เจตเฉฑเจฒ เจตเจงเฉเจ bot/tele_bot.py. เจ เจธเฉเจ เจธเจพเจฐเฉเจเจ เจฌเฉเจฒเฉเฉเฉเจเจ เจเฉเจเจผเจพเจ เจจเฉเฉฐ เจนเจเจพเจเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจชเจฃเจพ เจเฉเจก เจเฉเฉเจฆเฉ เจนเจพเจเฅค
import os
from urllib import request
import telebot
import pytaf
TOKEN = os.environ.get('TOKEN')
URL_METAR = "https://tgftp.nws.noaa.gov/data/observations/metar/stations/UUWW.TXT"
URL_TAF = "https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/UUWW.TXT"
bot = telebot.TeleBot(token=TOKEN, threaded=False)
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.row('/start', '/get_metar', '/get_taf')
def start(message):
msg = "ะัะธะฒะตั. ะญัะพ ะฑะพั ะดะปั ะฟะพะปััะตะฝะธั ะฐะฒะธะฐัะธะพะฝะฝะพะณะพ ะฟัะพะณะฝะพะทะฐ ะฟะพะณะพะดั "
"ั ัะตัะฒะตัะพะฒ NOAA. ะะพั ะฝะฐัััะพะตะฝ ะฝะฐ ะฐััะพะฟะพัั ะะฝัะบะพะฒะพ (UUWW)."
bot.send_message(message.chat.id, msg, reply_markup=keyboard)
def parse_data(code):
code = code.split('n')[1]
return pytaf.Decoder(pytaf.TAF(code)).decode_taf()
def get_metar(message):
# Fetch info from server.
code = request.urlopen(URL_METAR).read().decode('utf-8')
# Send formatted answer.
bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)
def get_taf(message):
# Fetch info from server.
code = request.urlopen(URL_TAF).read().decode('utf-8')
# Send formatted answer.
bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)
def route_command(command, message):
"""
Commands router.
"""
if command == '/start':
return start(message)
elif command == '/get_metar':
return get_metar(message)
elif command == '/get_taf':
return get_taf(message)
def main(**kwargs):
"""
Serverless environment entry point.
"""
print(f'Received: "{kwargs}"')
message = telebot.types.Update.de_json(kwargs)
message = message.message or message.edited_message
if message and message.text and message.text[0] == '/':
print(f'Echo on "{message.text}"')
route_command(message.text.lower(), message)
- เจ เจธเฉเจ เจชเฉเจฐเฉ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจเจผเจฟเจช เจเจฐเจเจพเจเจต เจตเจฟเฉฑเจ เจชเฉเจ เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจฌเจฃเจพเจ เจเจ เจซเฉฐเจเจธเจผเจจ เจฒเจ เจเฉฐเจเจฐเฉเจฒ เจชเฉเจจเจฒ เจตเจฟเฉฑเจ เจเจพเจเจฆเฉ เจนเจพเจเฅค
- เจเฉฑเจฅเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ เจธเฉฐเจชเจพเจฆเจฟเจค เจเจฐเฉ เจ เจคเฉ เจเฉเจก เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเจพเจฒเฉเจ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเฉเฅค
- เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฐเจฟเจธเจผเจคเฉเจฆเจพเจฐ เจฎเจพเจฐเจ เจญเจฐเฉ เจเฉเจฒเฉ_เจฌเฉเจ (เจเจเจธเจเฉเจเจธเจผเจจ .py เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ) เจ เจคเฉ เจเฉฑเจ เจ เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ เจซเฉฐเจเจธเจผเจจ (เจฆเจฟเฉฑเจคเฉ เจเจ เจเจฆเจพเจนเจฐเจฃ เจตเจฟเฉฑเจ เจเจน เจนเฉ เจฎเฉเฉฑเจ).
- เจญเจพเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจเฉฑเจ เจตเฉเจฐเฉเจเจฌเจฒ เจฒเจฟเจเฉ เจเฉเจเจจ เจ เจคเฉ เจเจธ เจจเฉเฉฐ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจฌเฉเจ เจฆเจพ เจเฉเจเจจ เจฆเจฟเจเฅค
- เจเฉฑเจฅเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ เจธเฉเจต เจเจฐเฉ เจ เจคเฉ เจซเฉเจฒเจพเจ, เจเจฟเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจ เจธเฉเจ เจญเจพเจ เจตเจฟเฉฑเจ เจเจพเจเจฆเฉ เจนเจพเจ เจเจฐเจฟเฉฑเจเจฐ.
- เจ เจธเฉเจ เจธเจตเจฟเฉฑเจ เจชเจพเจเจเจฆเฉ เจนเจพเจ HTTP เจฌเฉเจจเจคเฉเจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจเจจเจคเจ เจเจฐเจจ เจฒเจเฅค
เจธเจพเจกเฉ เจเฉเจฒ เจนเฉเจฃ เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจเจจเจคเจ เจคเฉเจฐ 'เจคเฉ เจเจพเจฒ เจเจฐเจจ เจฒเจ เจเฉฑเจ URL เจนเฉเฅค เจเจน เจธเจญ เจฌเจเจฟเจ เจนเฉ
/setwebhook <you bot token> <public URL of your function>
เจเจธ เจฆเจพ เจจเจคเฉเจเจพ
เจเฉเจเจฐ เจธเจญ เจเฉเจ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจกเจพ เจฌเฉเจ เจคเฉเจฐเฉฐเจค เจเฉฐเจฎ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจฆเฉเจตเฉเจเจพ เจ เจคเฉ เจคเจพเจเจผเจพ เจนเจตเจพเจฌเจพเจเจผเฉ เจฎเฉเจธเจฎ เจฆเฉ เจฐเจฟเจชเฉเจฐเจ เจธเจฟเฉฑเจงเฉ เจฎเฉเจธเฉเจเจเจฐ เจตเจฟเฉฑเจ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเฉเจเจพเฅค
เจฌเฉเจธเจผเฉฑเจ, เจเฉเจก เจจเฉเฉฐ เจธเฉเจงเจพเจฐเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจธเจฆเฉ เจฎเฉเจเฉเจฆเจพ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจตเฉ เจเจน เจเฉฑเจ เจญเจฐเฉเจธเฉเจฏเฉเจ เจธเจฐเฉเจค เจคเฉเจ เจธเจญ เจคเฉเจ เจธเจนเฉ เจฎเฉเจธเจฎ เจ
เจคเฉ เจญเจตเจฟเฉฑเจเจฌเจพเจฃเฉ เจฆเจพ เจชเจคเจพ เจฒเจเจพเจเจฃ เจฒเจ เจเจพเจซเฉ เจนเฉเฅค
เจคเฉเจนเจพเจจเฉเฉฐ เจธเจพเจกเฉ เจตเจฟเฉฑเจ เจเฉเจก เจฆเจพ เจชเฉเจฐเจพ เจธเฉฐเจธเจเจฐเจฃ เจฎเจฟเจฒเฉเจเจพ
เจธเจฐเฉเจค: www.habr.com