воскресенье, 28 апреля 2013 г.

Красивый суп


Первая запись в 2013 году будет посвящена супу "Окрошка" в Граблях, который мне совсем не понравился. Пробовала я его первый раз. Кислый был какой-то.



"Но где же красота?" -  спросите вы. Выглядит он тоже не очень красиво.

Я всех обманула.
На самом деле я расскажу про первый опыт с BeautifulSoup.



Нужно мне сейчас распарсить HTML'ину для своих корыстных целей. Думала, выбирала между HTMLParser и еще чем-то (все остальное в стандартной библиотеке подходит для XML). Вот и выбрала суп. В супе все - unicode. Из-за этого с 1го раза русский текст не хотел быть русским а выдавался крокозяброй. После чтения мана оказалось, что:
  1. Перед перекодировкой в Unicode Beautiful Soup проверяет кодировки в следующем порядке:
  2. Кодировка, переданная конструктору супа в параметре fromEncoding.
  3. Кодировка, обнаруженная в самом документе: например, в декларации XML или (для документов HTML) в атрибуте http-equiv тега META. Как только Beautiful Soup обнаружит подобное указание о кодировке документа, он повторно приступит к синтаксическому разбору документа с самого начала, но уже применяя найденную кодировку. Избежать этого можно только явным заданием кодировки, которая будет работать: тогда любая найденная в документе кодировка будет игнорироваться.
  4. Кодировка, вычисленная библиотекой `chardet`, в случае если она была установлена.
  5. Кодировка, вычисленная по нескольким первым байтам файла. Если кодировка определяется на этом этапе, то она будет либо UTF-*, либо EBCDIC, либо ASCII.
  6. UTF-8
  7. Windows-1252

Как видим, если по умолчанию не установлена кодировка, то будет почему-то 1252, вместо 1251. Т.ч. все оказалось просто. Нужно всего лишь написать:

soup = BeautifulSoup(page,fromEncoding='windows-1251')
stree = soup.findAll({"h2":True, "span":True})

После получения синтаксического дерева, самый быстрый способ запихнуть все что мне хотелось в том виде, котором мне хотелось -- это.. регулярки.


p_hour = r'<span class="hour">(?P<hour>\d+)</span>'
p_minutes = r'<span class="minutes">(?P<minutes>\d+)</span>'
p_name = r'<h2>(?P<name>.*)</h2>'

Ну или если без регулярок:


if line.name=='h2':
    text = line.getText()

elif line.name=='span' and (u'class', u'hour') in line.attrs:
    text = line.getText()

elif line.name=='span' and (u'class', u'minutes') in line.attrs:
           text = line.getText()



#где line это элемент stree

Теперь осталось сохранить это все в Postres и будет мне счастье =).

Еще немного о странице, которую нужно был распарсить:
Пациент http://www.mosgortrans.org/pass3/ был дружелюбно сделан на <td><tr> с примесями <span class="hour"> , <span class = "minutes">. А это единственная информация, которая мне и нужна. Ну еще и название остановки.
Теперь посмотрим на главную страницу. В комментариях написано:

<!--
Привет, любитель ковырять исходники веб-страниц. Я не Лебедев и не Петросян, отжигать в комментариях не буду. Просто мне интересно: зачем ты здесь?
Если ты ищешь спрятанные анекдоты, то их тут нет. И порнухи тоже нет. И ссылок на варез.
И свой пароль от вебманей я тут по рассеянности не записал, тем более что вебманями я не пользуюсь, а пароля там вроде бы никакого и не нужно - только сертификат.
Если ты хочешь набраться здесь опыта для изготовления собственной домашней странички, то я польщён.
Однако тебе здесь нечего ловить, весь дизайн на таблицах, а все скрипты только и заняты запросами к серверу. И ладно бы отправляли скоммунизженный номер твоей кредитки, так ведь просто какую-то фигню получают - списки заполнить.
Если у тебя что-то не работает, то не копайся в коде страницы, а напиши об этом на указанный ниже е-мыл. Или смени браузер, всякое старьё уже давно заслужило себе место на свалке. Не плюйся, этот
сайт не IE-only, я его даже в Konqueror-е опробовал. Вот только в Safari не удалось - бедные мы,никак на мак не накопим.
Если ты случайно попал(-а) по пункту "просмотр исходного кода", то лучше закрой это окошко. А то придёт злой бука и укусит тебя за монитор.
Если ты любишь читать содержимое тегов noscript, то тебе лучше просто выключить скрипты. Будет гораздо красивее.
А так - удачи :)
-->

Или:

<!-- Здесь - всплывающая фигня при загрузке -->

Если попытаться зайти на http://www.mosgortrans.org/pass3/shedule.php?type=avto&way=626&date=1111110&direction=BA&waypoint=5
то можно увидеть сообщение "Поисковой системы":

Не знаю уж кто писал этот сайт на похапе.. но кажется, будто школьник за еду. И кстати, в сафари все открывается :)
Если найдете сайт с раписаниями ТАТов по Москве -- кидайте ссылки. Буду благодарна.




Кстати, результат:

trip = 1, name = Ул. Крылатские Холмы, time = 0:14
trip = 2, name = Ул. Крылатские Холмы, time = 0:45
trip = 3, name = Ул. Крылатские Холмы, time = 5:53
trip = 4, name = Ул. Крылатские Холмы, time = 6:25
trip = 5, name = Ул. Крылатские Холмы, time = 6:58
trip = 6, name = Ул. Крылатские Холмы, time = 7:33
trip = 7, name = Ул. Крылатские Холмы, time = 7:55
trip = 8, name = Ул. Крылатские Холмы, time = 8:14
trip = 9, name = Ул. Крылатские Холмы, time = 8:33
trip = 10, name = Ул. Крылатские Холмы, time = 9:0
trip = 11, name = Ул. Крылатские Холмы, time = 9:25
trip = 12, name = Ул. Крылатские Холмы, time = 9:37
trip = 13, name = Ул. Крылатские Холмы, time = 9:50
trip = 14, name = Ул. Крылатские Холмы, time = 10:18
trip = 15, name = Ул. Крылатские Холмы, time = 10:46
trip = 16, name = Ул. Крылатские Холмы, time = 11:12
trip = 17, name = Ул. Крылатские Холмы, time = 11:38
trip = 18, name = Ул. Крылатские Холмы, time = 12:4
trip = 19, name = Ул. Крылатские Холмы, time = 12:30
trip = 20, name = Ул. Крылатские Холмы, time = 12:56
trip = 21, name = Ул. Крылатские Холмы, time = 13:22
trip = 22, name = Ул. Крылатские Холмы, time = 13:48
trip = 23, name = Ул. Крылатские Холмы, time = 14:14
trip = 24, name = Ул. Крылатские Холмы, time = 14:40
trip = 25, name = Ул. Крылатские Холмы, time = 15:7
trip = 26, name = Ул. Крылатские Холмы, time = 15:36
trip = 27, name = Ул. Крылатские Холмы, time = 16:5
trip = 28, name = Ул. Крылатские Холмы, time = 16:33
trip = 29, name = Ул. Крылатские Холмы, time = 17:2
trip = 30, name = Ул. Крылатские Холмы, time = 17:30
trip = 31, name = Ул. Крылатские Холмы, time = 17:52
trip = 32, name = Ул. Крылатские Холмы, time = 18:15
trip = 33, name = Ул. Крылатские Холмы, time = 18:38
trip = 34, name = Ул. Крылатские Холмы, time = 19:1
trip = 35, name = Ул. Крылатские Холмы, time = 19:14
trip = 36, name = Ул. Крылатские Холмы, time = 19:28
trip = 37, name = Ул. Крылатские Холмы, time = 19:57
trip = 38, name = Ул. Крылатские Холмы, time = 20:32
trip = 39, name = Ул. Крылатские Холмы, time = 20:49
trip = 40, name = Ул. Крылатские Холмы, time = 21:6
trip = 41, name = Ул. Крылатские Холмы, time = 21:40
trip = 42, name = Ул. Крылатские Холмы, time = 22:8
trip = 43, name = Ул. Крылатские Холмы, time = 22:40
trip = 44, name = Ул. Крылатские Холмы, time = 23:12
trip = 45, name = Ул. Крылатские Холмы, time = 23:43
trip = 1, name = Таллинская ул., time = 0:13
trip = 2, name = Таллинская ул., time = 0:44
trip = 3, name = Таллинская ул., time = 1:15
trip = 4, name = Таллинская ул., time = 6:23
trip = 5, name = Таллинская ул., time = 6:55
trip = 6, name = Таллинская ул., time = 7:34
trip = 7, name = Таллинская ул., time = 8:10
trip = 8, name = Таллинская ул., time = 8:32
trip = 9, name = Таллинская ул., time = 8:51
trip = 10, name = Таллинская ул., time = 9:9
trip = 11, name = Таллинская ул., time = 9:34
trip = 12, name = Таллинская ул., time = 9:59
trip = 13, name = Таллинская ул., time = 10:11
trip = 14, name = Таллинская ул., time = 10:24
trip = 15, name = Таллинская ул., time = 10:52
trip = 16, name = Таллинская ул., time = 11:20
trip = 17, name = Таллинская ул., time = 11:46
trip = 18, name = Таллинская ул., time = 12:12
trip = 19, name = Таллинская ул., time = 12:38
trip = 20, name = Таллинская ул., time = 13:4
trip = 21, name = Таллинская ул., time = 13:30
trip = 22, name = Таллинская ул., time = 13:56
trip = 23, name = Таллинская ул., time = 14:22
trip = 24, name = Таллинская ул., time = 14:48
trip = 25, name = Таллинская ул., time = 15:16
trip = 26, name = Таллинская ул., time = 15:44
trip = 27, name = Таллинская ул., time = 16:13
trip = 28, name = Таллинская ул., time = 16:42
trip = 29, name = Таллинская ул., time = 17:10
trip = 30, name = Таллинская ул., time = 17:39
trip = 31, name = Таллинская ул., time = 18:7
trip = 32, name = Таллинская ул., time = 18:29
trip = 33, name = Таллинская ул., time = 18:52
trip = 34, name = Таллинская ул., time = 19:13
trip = 35, name = Таллинская ул., time = 19:35
trip = 36, name = Таллинская ул., time = 19:48
trip = 37, name = Таллинская ул., time = 20:2
trip = 38, name = Таллинская ул., time = 20:31
trip = 39, name = Таллинская ул., time = 21:6
trip = 40, name = Таллинская ул., time = 21:20
trip = 41, name = Таллинская ул., time = 21:36
trip = 42, name = Таллинская ул., time = 22:10
trip = 43, name = Таллинская ул., time = 22:38
trip = 44, name = Таллинская ул., time = 23:10
trip = 45, name = Таллинская ул., time = 23:42
trip = 1, name = 3-й мкр. Строгина (к/ст), time = 0:26
trip = 2, name = 3-й мкр. Строгина (к/ст), time = 0:57
trip = 3, name = 3-й мкр. Строгина (к/ст), time = 1:28
trip = 4, name = 3-й мкр. Строгина (к/ст), time = 6:36
trip = 5, name = 3-й мкр. Строгина (к/ст), time = 7:11
trip = 6, name = 3-й мкр. Строгина (к/ст), time = 7:52
trip = 7, name = 3-й мкр. Строгина (к/ст), time = 8:28
trip = 8, name = 3-й мкр. Строгина (к/ст), time = 8:50
trip = 9, name = 3-й мкр. Строгина (к/ст), time = 9:8
trip = 10, name = 3-й мкр. Строгина (к/ст), time = 9:24
trip = 11, name = 3-й мкр. Строгина (к/ст), time = 9:49
trip = 12, name = 3-й мкр. Строгина (к/ст), time = 10:14
trip = 13, name = 3-й мкр. Строгина (к/ст), time = 10:26
trip = 14, name = 3-й мкр. Строгина (к/ст), time = 10:39
trip = 15, name = 3-й мкр. Строгина (к/ст), time = 11:7
trip = 16, name = 3-й мкр. Строгина (к/ст), time = 11:35
trip = 17, name = 3-й мкр. Строгина (к/ст), time = 12:1
trip = 18, name = 3-й мкр. Строгина (к/ст), time = 12:27
trip = 19, name = 3-й мкр. Строгина (к/ст), time = 12:53
trip = 20, name = 3-й мкр. Строгина (к/ст), time = 13:19
trip = 21, name = 3-й мкр. Строгина (к/ст), time = 13:45
trip = 22, name = 3-й мкр. Строгина (к/ст), time = 14:11
trip = 23, name = 3-й мкр. Строгина (к/ст), time = 14:37
trip = 24, name = 3-й мкр. Строгина (к/ст), time = 15:3
trip = 25, name = 3-й мкр. Строгина (к/ст), time = 15:34
trip = 26, name = 3-й мкр. Строгина (к/ст), time = 16:2
trip = 27, name = 3-й мкр. Строгина (к/ст), time = 16:31
trip = 28, name = 3-й мкр. Строгина (к/ст), time = 17:0
trip = 29, name = 3-й мкр. Строгина (к/ст), time = 17:28
trip = 30, name = 3-й мкр. Строгина (к/ст), time = 17:57
trip = 31, name = 3-й мкр. Строгина (к/ст), time = 18:25
trip = 32, name = 3-й мкр. Строгина (к/ст), time = 18:47
trip = 33, name = 3-й мкр. Строгина (к/ст), time = 19:9
trip = 34, name = 3-й мкр. Строгина (к/ст), time = 19:28
trip = 35, name = 3-й мкр. Строгина (к/ст), time = 19:50
trip = 36, name = 3-й мкр. Строгина (к/ст), time = 20:3
trip = 37, name = 3-й мкр. Строгина (к/ст), time = 20:17
trip = 38, name = 3-й мкр. Строгина (к/ст), time = 20:46
trip = 39, name = 3-й мкр. Строгина (к/ст), time = 21:19
trip = 40, name = 3-й мкр. Строгина (к/ст), time = 21:33
trip = 41, name = 3-й мкр. Строгина (к/ст), time = 21:49
trip = 42, name = 3-й мкр. Строгина (к/ст), time = 22:23
trip = 43, name = 3-й мкр. Строгина (к/ст), time = 22:51
trip = 44, name = 3-й мкр. Строгина (к/ст), time = 23:23
trip = 45, name = 3-й мкр. Строгина (к/ст), time = 23:55
trip = 1, name = Ул. Марш. Катукова, time = 0:20
trip = 2, name = Ул. Марш. Катукова, time = 0:51
trip = 3, name = Ул. Марш. Катукова, time = 1:22
trip = 4, name = Ул. Марш. Катукова, time = 6:30
trip = 5, name = Ул. Марш. Катукова, time = 7:3
trip = 6, name = Ул. Марш. Катукова, time = 7:44
trip = 7, name = Ул. Марш. Катукова, time = 8:20
trip = 8, name = Ул. Марш. Катукова, time = 8:42
trip = 9, name = Ул. Марш. Катукова, time = 9:1
trip = 10, name = Ул. Марш. Катукова, time = 9:17
trip = 11, name = Ул. Марш. Катукова, time = 9:42
trip = 12, name = Ул. Марш. Катукова, time = 10:7
trip = 13, name = Ул. Марш. Катукова, time = 10:19
trip = 14, name = Ул. Марш. Катукова, time = 10:32
trip = 15, name = Ул. Марш. Катукова, time = 11:0
trip = 16, name = Ул. Марш. Катукова, time = 11:28
trip = 17, name = Ул. Марш. Катукова, time = 11:54
trip = 18, name = Ул. Марш. Катукова, time = 12:20
trip = 19, name = Ул. Марш. Катукова, time = 12:46
trip = 20, name = Ул. Марш. Катукова, time = 13:12
trip = 21, name = Ул. Марш. Катукова, time = 13:38
trip = 22, name = Ул. Марш. Катукова, time = 14:4
trip = 23, name = Ул. Марш. Катукова, time = 14:30
trip = 24, name = Ул. Марш. Катукова, time = 14:56
trip = 25, name = Ул. Марш. Катукова, time = 15:26
trip = 26, name = Ул. Марш. Катукова, time = 15:54
trip = 27, name = Ул. Марш. Катукова, time = 16:23
trip = 28, name = Ул. Марш. Катукова, time = 16:52
trip = 29, name = Ул. Марш. Катукова, time = 17:20
trip = 30, name = Ул. Марш. Катукова, time = 17:49
trip = 31, name = Ул. Марш. Катукова, time = 18:17
trip = 32, name = Ул. Марш. Катукова, time = 18:39
trip = 33, name = Ул. Марш. Катукова, time = 19:2
trip = 34, name = Ул. Марш. Катукова, time = 19:21
trip = 35, name = Ул. Марш. Катукова, time = 19:43
trip = 36, name = Ул. Марш. Катукова, time = 19:56
trip = 37, name = Ул. Марш. Катукова, time = 20:10
trip = 38, name = Ул. Марш. Катукова, time = 20:39
trip = 39, name = Ул. Марш. Катукова, time = 21:13
trip = 40, name = Ул. Марш. Катукова, time = 21:27
trip = 41, name = Ул. Марш. Катукова, time = 21:43
trip = 42, name = Ул. Марш. Катукова, time = 22:17
trip = 43, name = Ул. Марш. Катукова, time = 22:45
trip = 44, name = Ул. Марш. Катукова, time = 23:17
trip = 45, name = Ул. Марш. Катукова, time = 23:49
trip = 1, name = Рубежный пр., time = 0:16
trip = 2, name = Рубежный пр., time = 0:47
trip = 3, name = Рубежный пр., time = 5:55
trip = 4, name = Рубежный пр., time = 6:27
trip = 5, name = Рубежный пр., time = 7:0
trip = 6, name = Рубежный пр., time = 7:36
trip = 7, name = Рубежный пр., time = 7:58
trip = 8, name = Рубежный пр., time = 8:17
trip = 9, name = Рубежный пр., time = 8:36
trip = 10, name = Рубежный пр., time = 9:2
trip = 11, name = Рубежный пр., time = 9:27
trip = 12, name = Рубежный пр., time = 9:39
trip = 13, name = Рубежный пр., time = 9:52
trip = 14, name = Рубежный пр., time = 10:20
trip = 15, name = Рубежный пр., time = 10:48
trip = 16, name = Рубежный пр., time = 11:14
trip = 17, name = Рубежный пр., time = 11:40
trip = 18, name = Рубежный пр., time = 12:6
trip = 19, name = Рубежный пр., time = 12:32
trip = 20, name = Рубежный пр., time = 12:58
trip = 21, name = Рубежный пр., time = 13:24
trip = 22, name = Рубежный пр., time = 13:50
trip = 23, name = Рубежный пр., time = 14:16
trip = 24, name = Рубежный пр., time = 14:42
trip = 25, name = Рубежный пр., time = 15:10
trip = 26, name = Рубежный пр., time = 15:39
trip = 27, name = Рубежный пр., time = 16:8
trip = 28, name = Рубежный пр., time = 16:36
trip = 29, name = Рубежный пр., time = 17:5
trip = 30, name = Рубежный пр., time = 17:33
trip = 31, name = Рубежный пр., time = 17:55
trip = 32, name = Рубежный пр., time = 18:18
trip = 33, name = Рубежный пр., time = 18:41
trip = 34, name = Рубежный пр., time = 19:3
trip = 35, name = Рубежный пр., time = 19:16
trip = 36, name = Рубежный пр., time = 19:30
trip = 37, name = Рубежный пр., time = 19:59
trip = 38, name = Рубежный пр., time = 20:34
trip = 39, name = Рубежный пр., time = 20:51
trip = 40, name = Рубежный пр., time = 21:8
trip = 41, name = Рубежный пр., time = 21:42
trip = 42, name = Рубежный пр., time = 22:10
trip = 43, name = Рубежный пр., time = 22:42
trip = 44, name = Рубежный пр., time = 23:14
trip = 45, name = Рубежный пр., time = 23:45
trip = 1, name = Лыковский пр., time = 0:4
trip = 2, name = Лыковский пр., time = 0:35
trip = 3, name = Лыковский пр., time = 1:6
trip = 4, name = Лыковский пр., time = 6:14
trip = 5, name = Лыковский пр., time = 6:46
trip = 6, name = Лыковский пр., time = 7:24
trip = 7, name = Лыковский пр., time = 8:0
trip = 8, name = Лыковский пр., time = 8:22
trip = 9, name = Лыковский пр., time = 8:41
trip = 10, name = Лыковский пр., time = 9:0
trip = 11, name = Лыковский пр., time = 9:25
trip = 12, name = Лыковский пр., time = 9:50
trip = 13, name = Лыковский пр., time = 10:2
trip = 14, name = Лыковский пр., time = 10:15
trip = 15, name = Лыковский пр., time = 10:43
trip = 16, name = Лыковский пр., time = 11:11
trip = 17, name = Лыковский пр., time = 11:37
trip = 18, name = Лыковский пр., time = 12:3
trip = 19, name = Лыковский пр., time = 12:29
trip = 20, name = Лыковский пр., time = 12:55
trip = 21, name = Лыковский пр., time = 13:21
trip = 22, name = Лыковский пр., time = 13:47
trip = 23, name = Лыковский пр., time = 14:13
trip = 24, name = Лыковский пр., time = 14:39
trip = 25, name = Лыковский пр., time = 15:6
trip = 26, name = Лыковский пр., time = 15:34
trip = 27, name = Лыковский пр., time = 16:3
trip = 28, name = Лыковский пр., time = 16:32
trip = 29, name = Лыковский пр., time = 17:0
trip = 30, name = Лыковский пр., time = 17:29
trip = 31, name = Лыковский пр., time = 17:57
trip = 32, name = Лыковский пр., time = 18:19
trip = 33, name = Лыковский пр., time = 18:42
trip = 34, name = Лыковский пр., time = 19:4
trip = 35, name = Лыковский пр., time = 19:26
trip = 36, name = Лыковский пр., time = 19:39
trip = 37, name = Лыковский пр., time = 19:53
trip = 38, name = Лыковский пр., time = 20:22
trip = 39, name = Лыковский пр., time = 20:57
trip = 40, name = Лыковский пр., time = 21:11
trip = 41, name = Лыковский пр., time = 21:27
trip = 42, name = Лыковский пр., time = 22:1
trip = 43, name = Лыковский пр., time = 22:29
trip = 44, name = Лыковский пр., time = 23:1
trip = 45, name = Лыковский пр., time = 23:33
trip = 1, name = Черепково, time = 0:22
trip = 2, name = Черепково, time = 0:53
trip = 3, name = Черепково, time = 6:1
trip = 4, name = Черепково, time = 6:33
trip = 5, name = Черепково, time = 7:6
trip = 6, name = Черепково, time = 7:42
trip = 7, name = Черепково, time = 8:4
trip = 8, name = Черепково, time = 8:23
trip = 9, name = Черепково, time = 8:42
trip = 10, name = Черепково, time = 9:8
trip = 11, name = Черепково, time = 9:33
trip = 12, name = Черепково, time = 9:45
trip = 13, name = Черепково, time = 9:58
trip = 14, name = Черепково, time = 10:26
trip = 15, name = Черепково, time = 10:54
trip = 16, name = Черепково, time = 11:20
trip = 17, name = Черепково, time = 11:46
trip = 18, name = Черепково, time = 12:12
trip = 19, name = Черепково, time = 12:38
trip = 20, name = Черепково, time = 13:4
trip = 21, name = Черепково, time = 13:30
trip = 22, name = Черепково, time = 13:56
trip = 23, name = Черепково, time = 14:22
trip = 24, name = Черепково, time = 14:48
trip = 25, name = Черепково, time = 15:16
trip = 26, name = Черепково, time = 15:45
trip = 27, name = Черепково, time = 16:14
trip = 28, name = Черепково, time = 16:42
trip = 29, name = Черепково, time = 17:11
trip = 30, name = Черепково, time = 17:39
trip = 31, name = Черепково, time = 18:1
trip = 32, name = Черепково, time = 18:24
trip = 33, name = Черепково, time = 18:47
trip = 34, name = Черепково, time = 19:9
trip = 35, name = Черепково, time = 19:22
trip = 36, name = Черепково, time = 19:36
trip = 37, name = Черепково, time = 20:5
trip = 38, name = Черепково, time = 20:40
trip = 39, name = Черепково, time = 20:57
trip = 40, name = Черепково, time = 21:14
trip = 41, name = Черепково, time = 21:48
trip = 42, name = Черепково, time = 22:16
trip = 43, name = Черепково, time = 22:48
trip = 44, name = Черепково, time = 23:20
trip = 45, name = Черепково, time = 23:51
trip = 1, name = Мякининский пр., time = 0:15
trip = 2, name = Мякининский пр., time = 0:46
trip = 3, name = Мякининский пр., time = 1:17
trip = 4, name = Мякининский пр., time = 6:25
trip = 5, name = Мякининский пр., time = 6:57
trip = 6, name = Мякининский пр., time = 7:37
trip = 7, name = Мякининский пр., time = 8:13
trip = 8, name = Мякининский пр., time = 8:35
trip = 9, name = Мякининский пр., time = 8:54
trip = 10, name = Мякининский пр., time = 9:11
trip = 11, name = Мякининский пр., time = 9:36
trip = 12, name = Мякининский пр., time = 10:1
trip = 13, name = Мякининский пр., time = 10:13
trip = 14, name = Мякининский пр., time = 10:26
trip = 15, name = Мякининский пр., time = 10:54
trip = 16, name = Мякининский пр., time = 11:22
trip = 17, name = Мякининский пр., time = 11:48
trip = 18, name = Мякининский пр., time = 12:14
trip = 19, name = Мякининский пр., time = 12:40
trip = 20, name = Мякининский пр., time = 13:6
trip = 21, name = Мякининский пр., time = 13:32
trip = 22, name = Мякининский пр., time = 13:58
trip = 23, name = Мякининский пр., time = 14:24
trip = 24, name = Мякининский пр., time = 14:50
trip = 25, name = Мякининский пр., time = 15:19
trip = 26, name = Мякининский пр., time = 15:47
trip = 27, name = Мякининский пр., time = 16:16
trip = 28, name = Мякининский пр., time = 16:45
trip = 29, name = Мякининский пр., time = 17:13
trip = 30, name = Мякининский пр., time = 17:42
trip = 31, name = Мякининский пр., time = 18:10
trip = 32, name = Мякининский пр., time = 18:32
trip = 33, name = Мякининский пр., time = 18:55
trip = 34, name = Мякининский пр., time = 19:15
trip = 35, name = Мякининский пр., time = 19:37
trip = 36, name = Мякининский пр., time = 19:50
trip = 37, name = Мякининский пр., time = 20:4
trip = 38, name = Мякининский пр., time = 20:33
trip = 39, name = Мякининский пр., time = 21:8
trip = 40, name = Мякининский пр., time = 21:22
trip = 41, name = Мякининский пр., time = 21:38
trip = 42, name = Мякининский пр., time = 22:12
trip = 43, name = Мякининский пр., time = 22:40
trip = 44, name = Мякининский пр., time = 23:12
trip = 45, name = Мякининский пр., time = 23:44
trip = 1, name = Трамвайное депо, time = 0:10
trip = 2, name = Трамвайное депо, time = 0:41
trip = 3, name = Трамвайное депо, time = 1:12
trip = 4, name = Трамвайное депо, time = 6:20
trip = 5, name = Трамвайное депо, time = 6:52
trip = 6, name = Трамвайное депо, time = 7:31
trip = 7, name = Трамвайное депо, time = 8:7
trip = 8, name = Трамвайное депо, time = 8:29
trip = 9, name = Трамвайное депо, time = 8:48
trip = 10, name = Трамвайное депо, time = 9:6
trip = 11, name = Трамвайное депо, time = 9:31
trip = 12, name = Трамвайное депо, time = 9:56
trip = 13, name = Трамвайное депо, time = 10:8
trip = 14, name = Трамвайное депо, time = 10:21
trip = 15, name = Трамвайное депо, time = 10:49
trip = 16, name = Трамвайное депо, time = 11:17
trip = 17, name = Трамвайное депо, time = 11:43
trip = 18, name = Трамвайное депо, time = 12:9
trip = 19, name = Трамвайное депо, time = 12:35
trip = 20, name = Трамвайное депо, time = 13:1
trip = 21, name = Трамвайное депо, time = 13:27
trip = 22, name = Трамвайное депо, time = 13:53
trip = 23, name = Трамвайное депо, time = 14:19
trip = 24, name = Трамвайное депо, time = 14:45
trip = 25, name = Трамвайное депо, time = 15:13
trip = 26, name = Трамвайное депо, time = 15:41
trip = 27, name = Трамвайное депо, time = 16:10
trip = 28, name = Трамвайное депо, time = 16:39
trip = 29, name = Трамвайное депо, time = 17:7
trip = 30, name = Трамвайное депо, time = 17:36
trip = 31, name = Трамвайное депо, time = 18:4
trip = 32, name = Трамвайное депо, time = 18:26
trip = 33, name = Трамвайное депо, time = 18:49
trip = 34, name = Трамвайное депо, time = 19:10
trip = 35, name = Трамвайное депо, time = 19:32
trip = 36, name = Трамвайное депо, time = 19:45
trip = 37, name = Трамвайное депо, time = 19:59
trip = 38, name = Трамвайное депо, time = 20:28
trip = 39, name = Трамвайное депо, time = 21:3
trip = 40, name = Трамвайное депо, time = 21:17
trip = 41, name = Трамвайное депо, time = 21:33
trip = 42, name = Трамвайное депо, time = 22:7
trip = 43, name = Трамвайное депо, time = 22:35
trip = 44, name = Трамвайное депо, time = 23:7
trip = 45, name = Трамвайное депо, time = 23:39
trip = 1, name = Метро "Молодежная" (к/ст), time = 0:10
trip = 2, name = Метро "Молодежная" (к/ст), time = 0:41
trip = 3, name = Метро "Молодежная" (к/ст), time = 5:49
trip = 4, name = Метро "Молодежная" (к/ст), time = 6:21
trip = 5, name = Метро "Молодежная" (к/ст), time = 6:54
trip = 6, name = Метро "Молодежная" (к/ст), time = 7:27
trip = 7, name = Метро "Молодежная" (к/ст), time = 7:49
trip = 8, name = Метро "Молодежная" (к/ст), time = 8:8
trip = 9, name = Метро "Молодежная" (к/ст), time = 8:27
trip = 10, name = Метро "Молодежная" (к/ст), time = 8:54
trip = 11, name = Метро "Молодежная" (к/ст), time = 9:20
trip = 12, name = Метро "Молодежная" (к/ст), time = 9:32
trip = 13, name = Метро "Молодежная" (к/ст), time = 9:45
trip = 14, name = Метро "Молодежная" (к/ст), time = 10:13
trip = 15, name = Метро "Молодежная" (к/ст), time = 10:41
trip = 16, name = Метро "Молодежная" (к/ст), time = 11:7
trip = 17, name = Метро "Молодежная" (к/ст), time = 11:33
trip = 18, name = Метро "Молодежная" (к/ст), time = 11:59
trip = 19, name = Метро "Молодежная" (к/ст), time = 12:25
trip = 20, name = Метро "Молодежная" (к/ст), time = 12:51
trip = 21, name = Метро "Молодежная" (к/ст), time = 13:17
trip = 22, name = Метро "Молодежная" (к/ст), time = 13:43
trip = 23, name = Метро "Молодежная" (к/ст), time = 14:9
trip = 24, name = Метро "Молодежная" (к/ст), time = 14:35
trip = 25, name = Метро "Молодежная" (к/ст), time = 15:1
trip = 26, name = Метро "Молодежная" (к/ст), time = 15:30
trip = 27, name = Метро "Молодежная" (к/ст), time = 15:59
trip = 28, name = Метро "Молодежная" (к/ст), time = 16:27
trip = 29, name = Метро "Молодежная" (к/ст), time = 16:56
trip = 30, name = Метро "Молодежная" (к/ст), time = 17:24
trip = 31, name = Метро "Молодежная" (к/ст), time = 17:46
trip = 32, name = Метро "Молодежная" (к/ст), time = 18:9
trip = 33, name = Метро "Молодежная" (к/ст), time = 18:32
trip = 34, name = Метро "Молодежная" (к/ст), time = 18:55
trip = 35, name = Метро "Молодежная" (к/ст), time = 19:9
trip = 36, name = Метро "Молодежная" (к/ст), time = 19:23
trip = 37, name = Метро "Молодежная" (к/ст), time = 19:52
trip = 38, name = Метро "Молодежная" (к/ст), time = 20:27
trip = 39, name = Метро "Молодежная" (к/ст), time = 20:44
trip = 40, name = Метро "Молодежная" (к/ст), time = 21:2
trip = 41, name = Метро "Молодежная" (к/ст), time = 21:36
trip = 42, name = Метро "Молодежная" (к/ст), time = 22:4
trip = 43, name = Метро "Молодежная" (к/ст), time = 22:36
trip = 44, name = Метро "Молодежная" (к/ст), time = 23:8
trip = 45, name = Метро "Молодежная" (к/ст), time = 23:39
trip = 1, name = 3-й мкр. Строгина (выс.), time = 0:25
trip = 2, name = 3-й мкр. Строгина (выс.), time = 0:56
trip = 3, name = 3-й мкр. Строгина (выс.), time = 1:27
trip = 4, name = 3-й мкр. Строгина (выс.), time = 6:35
trip = 5, name = 3-й мкр. Строгина (выс.), time = 7:10
trip = 6, name = 3-й мкр. Строгина (выс.), time = 7:51
trip = 7, name = 3-й мкр. Строгина (выс.), time = 8:27
trip = 8, name = 3-й мкр. Строгина (выс.), time = 8:49
trip = 9, name = 3-й мкр. Строгина (выс.), time = 9:7
trip = 10, name = 3-й мкр. Строгина (выс.), time = 9:23
trip = 11, name = 3-й мкр. Строгина (выс.), time = 9:48
trip = 12, name = 3-й мкр. Строгина (выс.), time = 10:13
trip = 13, name = 3-й мкр. Строгина (выс.), time = 10:25
trip = 14, name = 3-й мкр. Строгина (выс.), time = 10:38
trip = 15, name = 3-й мкр. Строгина (выс.), time = 11:6
trip = 16, name = 3-й мкр. Строгина (выс.), time = 11:34
trip = 17, name = 3-й мкр. Строгина (выс.), time = 12:0
trip = 18, name = 3-й мкр. Строгина (выс.), time = 12:26
trip = 19, name = 3-й мкр. Строгина (выс.), time = 12:52
trip = 20, name = 3-й мкр. Строгина (выс.), time = 13:18
trip = 21, name = 3-й мкр. Строгина (выс.), time = 13:44
trip = 22, name = 3-й мкр. Строгина (выс.), time = 14:10
trip = 23, name = 3-й мкр. Строгина (выс.), time = 14:36
trip = 24, name = 3-й мкр. Строгина (выс.), time = 15:2
trip = 25, name = 3-й мкр. Строгина (выс.), time = 15:33
trip = 26, name = 3-й мкр. Строгина (выс.), time = 16:1
trip = 27, name = 3-й мкр. Строгина (выс.), time = 16:30
trip = 28, name = 3-й мкр. Строгина (выс.), time = 16:59
trip = 29, name = 3-й мкр. Строгина (выс.), time = 17:27
trip = 30, name = 3-й мкр. Строгина (выс.), time = 17:56
trip = 31, name = 3-й мкр. Строгина (выс.), time = 18:24
trip = 32, name = 3-й мкр. Строгина (выс.), time = 18:46
trip = 33, name = 3-й мкр. Строгина (выс.), time = 19:8
trip = 34, name = 3-й мкр. Строгина (выс.), time = 19:27
trip = 35, name = 3-й мкр. Строгина (выс.), time = 19:49
trip = 36, name = 3-й мкр. Строгина (выс.), time = 20:2
trip = 37, name = 3-й мкр. Строгина (выс.), time = 20:16
trip = 38, name = 3-й мкр. Строгина (выс.), time = 20:45
trip = 39, name = 3-й мкр. Строгина (выс.), time = 21:18
trip = 40, name = 3-й мкр. Строгина (выс.), time = 21:32
trip = 41, name = 3-й мкр. Строгина (выс.), time = 21:48
trip = 42, name = 3-й мкр. Строгина (выс.), time = 22:22
trip = 43, name = 3-й мкр. Строгина (выс.), time = 22:50
trip = 44, name = 3-й мкр. Строгина (выс.), time = 23:22
trip = 45, name = 3-й мкр. Строгина (выс.), time = 23:54
trip = 1, name = Рублево, time = 0:30
trip = 2, name = Рублево, time = 1:1
trip = 3, name = Рублево, time = 6:9
trip = 4, name = Рублево, time = 6:41
trip = 5, name = Рублево, time = 7:17
trip = 6, name = Рублево, time = 7:53
trip = 7, name = Рублево, time = 8:15
trip = 8, name = Рублево, time = 8:34
trip = 9, name = Рублево, time = 8:53
trip = 10, name = Рублево, time = 9:19
trip = 11, name = Рублево, time = 9:44
trip = 12, name = Рублево, time = 9:56
trip = 13, name = Рублево, time = 10:9
trip = 14, name = Рублево, time = 10:37
trip = 15, name = Рублево, time = 11:5
trip = 16, name = Рублево, time = 11:31
trip = 17, name = Рублево, time = 11:57
trip = 18, name = Рублево, time = 12:23
trip = 19, name = Рублево, time = 12:49
trip = 20, name = Рублево, time = 13:15
trip = 21, name = Рублево, time = 13:41
trip = 22, name = Рублево, time = 14:7
trip = 23, name = Рублево, time = 14:33
trip = 24, name = Рублево, time = 14:59
trip = 25, name = Рублево, time = 15:27
trip = 26, name = Рублево, time = 15:56
trip = 27, name = Рублево, time = 16:25
trip = 28, name = Рублево, time = 16:53
trip = 29, name = Рублево, time = 17:22
trip = 30, name = Рублево, time = 17:50
trip = 31, name = Рублево, time = 18:12
trip = 32, name = Рублево, time = 18:35
trip = 33, name = Рублево, time = 18:58
trip = 34, name = Рублево, time = 19:20
trip = 35, name = Рублево, time = 19:33
trip = 36, name = Рублево, time = 19:47
trip = 37, name = Рублево, time = 20:16
trip = 38, name = Рублево, time = 20:51
trip = 39, name = Рублево, time = 21:6
trip = 40, name = Рублево, time = 21:22
trip = 41, name = Рублево, time = 21:56
trip = 42, name = Рублево, time = 22:24
trip = 43, name = Рублево, time = 22:56
trip = 44, name = Рублево, time = 23:28
trip = 45, name = Рублево, time = 23:59
trip = 1, name = Крылатское, time = 0:18
trip = 2, name = Крылатское, time = 0:49
trip = 3, name = Крылатское, time = 5:57
trip = 4, name = Крылатское, time = 6:29
trip = 5, name = Крылатское, time = 7:2
trip = 6, name = Крылатское, time = 7:38
trip = 7, name = Крылатское, time = 8:0
trip = 8, name = Крылатское, time = 8:19
trip = 9, name = Крылатское, time = 8:38
trip = 10, name = Крылатское, time = 9:4
trip = 11, name = Крылатское, time = 9:29
trip = 12, name = Крылатское, time = 9:41
trip = 13, name = Крылатское, time = 9:54
trip = 14, name = Крылатское, time = 10:22
trip = 15, name = Крылатское, time = 10:50
trip = 16, name = Крылатское, time = 11:16
trip = 17, name = Крылатское, time = 11:42
trip = 18, name = Крылатское, time = 12:8
trip = 19, name = Крылатское, time = 12:34
trip = 20, name = Крылатское, time = 13:0
trip = 21, name = Крылатское, time = 13:26
trip = 22, name = Крылатское, time = 13:52
trip = 23, name = Крылатское, time = 14:18
trip = 24, name = Крылатское, time = 14:44
trip = 25, name = Крылатское, time = 15:12
trip = 26, name = Крылатское, time = 15:41
trip = 27, name = Крылатское, time = 16:10
trip = 28, name = Крылатское, time = 16:38
trip = 29, name = Крылатское, time = 17:7
trip = 30, name = Крылатское, time = 17:35
trip = 31, name = Крылатское, time = 17:57
trip = 32, name = Крылатское, time = 18:20
trip = 33, name = Крылатское, time = 18:43
trip = 34, name = Крылатское, time = 19:5
trip = 35, name = Крылатское, time = 19:18
trip = 36, name = Крылатское, time = 19:32
trip = 37, name = Крылатское, time = 20:1
trip = 38, name = Крылатское, time = 20:36
trip = 39, name = Крылатское, time = 20:53
trip = 40, name = Крылатское, time = 21:10
trip = 41, name = Крылатское, time = 21:44
trip = 42, name = Крылатское, time = 22:12
trip = 43, name = Крылатское, time = 22:44
trip = 44, name = Крылатское, time = 23:16
trip = 45, name = Крылатское, time = 23:47

по запросу: get_time('626.txt', 'Автобус', 626, day='Будни', direction=False)

1 комментарий:

  1. Хм. Почитал, решил попробовать lxml. Для моих целей должна идеально подойти (Мне как раз надо xPath использовать + GAE для меня сейчас не актуально)
    Позже отпишусь об ощущениях =D

    ОтветитьУдалить