Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Парсер с DOM последовательностью запросов [RSS Feed]

#1 Дек. 4, 2012 11:06:54

folt
Зарегистрирован: 2012-12-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

Парсер с DOM последовательностью запросов
Здравствуйте. Вот недавно делал парсер на делфи но так вышло что нашел ресурс получше для парсерства. В чем суть задачи:
1. Отправка запроса и выбор из выпадающего списка элемента (первого по умолчанию)
2. Отправка запроса и выбор из выпадающего списка элемента, во второе однострочное текстовое поле, (первого по умолчанию)
3. Получения ответа с сайта
4. Переход на вкладку расписания
5. Сбор информации картежа таблицы
6. Нажатие на вторую колонку таблицы (маршрут)
7. Сбор выпадающей таблицы
8. Занос данных в текстовый файл
Сейчас на первых двух пунктах. Прошу помощи и наставления в нужную сторону программистов питона. Спасибо за внимание




Офлайн

#2 Дек. 6, 2012 09:50:24

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

Посмотри Grab. Мне нравится. ну и xpath тебе в руки



подпись

Офлайн

#3 Дек. 6, 2012 14:45:03

folt
Зарегистрирован: 2012-12-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

я смотрел эту примочку, но не могу реализавать выбор из выподающих вариантов, а без низ запрос не отправиться. что можно попробывать сделать?

Офлайн

#4 Дек. 7, 2012 07:32:14

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

<title>HTML формы</title>
</head>
<body>
<form action="http://ab-w.net/info.php" method="post" name="drop_down_box">
<select name="menu" size="1">
<option value="first">Первая позиция</option>
<option selected="selected" value="second">Вторая позиция</option>
<option value="third">Третья позиция</option>
<option value="fourth">Четвертая позиция</option>
</select>
</form>
g = Grab()
g.go('some url')
g.tree.xpath('//select[@name="menu"]/option/@value')

список всех возможных вариантов в списке



подпись

Офлайн

#5 Дек. 7, 2012 11:05:35

folt
Зарегистрирован: 2012-12-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

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

Офлайн

#6 Дек. 7, 2012 13:15:22

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

Так это, голубчик мой, вам конкретно под реализацию разбираться надо. Если не секрет кидай ссылку я посмотрю.



подпись

Отредактировано Doberman26rus (Дек. 7, 2012 13:15:38)

Офлайн

#7 Дек. 7, 2012 23:59:35

folt
Зарегистрирован: 2012-12-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

http://ivctrans.by/all/first.php
вот ссылка, если будет желание, буду рад любой помощи

Офлайн

#8 Дек. 8, 2012 12:32:05

appetito
От:
Зарегистрирован: 2010-09-28
Сообщения: 147
Репутация: +  2  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

Selenium + WebDriver - мне кажется то что нужно



Офлайн

#9 Дек. 8, 2012 20:19:37

folt
Зарегистрирован: 2012-12-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

смотрел тех документацию по нем, но того что мне нужно - не нашел как делать
бесперно, автоматизировать выполнения JS можно, но у меня конкретная проблема - выбор из выподающих вариантов. как добраться программно к этому?

Офлайн

#10 Дек. 10, 2012 05:28:10

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Парсер с DOM последовательностью запросов

folt
но у меня конкретная проблема - выбор из выподающих вариантов. как добраться программно к этому
Список городов получают get запросом на http://ivctrans.by/all/getdata.php
c параметрами
PHPSESSID ну это понятно
timestamp= это для обхода кеширования в броузере
prog=тут виды запроса к серверу (station1 - список станций)
host=1 - тут не понял, но он всегда в единицу
q= первые три буквы названия
limit= количество строк

Данные прилетают разделенные “|”
508181|ДОМИНИКОВО|Копыльский р-н МИНСКАЯ ОБЛ. Беларусь
301302|ЕРЕМИНО-2|Гомельский р-н ГОМЕЛЬСКАЯ ОБЛ. Беларусь
201016|ЕРЕМИНО 1|Витебский р-н ВИТЕБСКАЯ ОБЛ. Беларусь
201327|ЕРЕМИНО 2|Витебский р-н ВИТЕБСКАЯ ОБЛ. Беларусь
301104|ЕРЕМИНО МАГ.|Гомельский р-н ГОМЕЛЬСКАЯ ОБЛ.
301012|ЕРЕМИНО ШК.|Гомельский р-н ГОМЕЛЬСКАЯ ОБЛ.
102158|КАТМИНОВЦЫ|Барановичский р-н БРЕСТСКАЯ ОБЛ.
201314|КОМИНТЕРН|Витебский р-н ВИТЕБСКАЯ ОБЛ. Беларусь
Похоже коды из какого-то справочника, так что можно даже запросы не делать а взять этот справочник



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано PooH (Дек. 10, 2012 05:30:21)

Офлайн

  • Начало
  • » Web
  • » Парсер с DOM последовательностью запросов[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version