#!/usr/bin/python # coding: utf8 import urllib # Подключаем библиотеки для работы с Интернет, import sys # для доступа к параметрам командной строки, import string # для работы со строками # Индекс ICAO-станции station = "ULLI" # Создаем сокет-соединение с сервером sock = urllib.urlopen("http://aviationweather.gov/metar/data?ids="+station+"&format=raw&hours=0&taf=off&layout=on&date=0") # Записываем текст HTML-файла в переменную "metar" metar = sock.read() # Закрываем сокет-соединение с сервером sock.close() # Выводим текст HTML-файла на консоль #print metar # Разбиваем текст на отдельные строки lines = metar.split('\n') # Задаем начальное значение переменной с признаком наличия строки данных state = False # Перебираем все строки for line in lines: # Ищем строку, предшествующую строке с данными METAR-телеграммы if line == "<!-- Data starts here -->": state = True continue # Декодируем телеграмму if state==True: # Берем строку и разбиваем ее отдельные слова (разделитель - символ пробела) par = line.split() # Извлекаем дату и время for i in par: if i[-1] == 'Z': timeUTC = int(i[2:4]) strtime = str(timeUTC) print strtime+':'+i[4:6], # Извлекаем значение температуры воздуха for i in par: if '/' in i: temp = i.replace('M','-') temp = temp.split('/')[0]+'.0' print temp, break # Извлекаем значение атмосферного давления for i in par: if i[0] == 'Q': print i[1:]+'.0' break # Сбрасываем признак строки с данными state = False
Он получает метеоданные ввиде телеграммы.
В html-файле, который обрабатывается важной является только одна строка, содержащая непосредственно текст метео-телеграммы:
ULLI 191930Z 04003MPS 9999 SCT023 11/07 Q1015 R10R/190055 NOSIG
(разумеется текст телеграммы может быть иной, так как погода меняется.
Мне нужно как-то получить данные об облаках. В вышеуказанном примере это “SCT023”. Причём цифры не нужны - нужно лишь вывести на терминал буквы. Их 4 вида. То есть возможны другие варианты, а не только SCT.
Затем нужно будет апгрейдить скрипт и выводить на консоль уже не буквы, а расшифровку.Но мне бы сперва понять - как добиться вывода букв…
И что бы это не выбивалась из того стиля в котором написан скрипт.
Каким образом это сделать?