|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Коллеги, доброго дня. Есть необходимость разово выгрузить время проезда между всеми станциями метро Москвы. Судя по всему, эту информацию проще всего получить через Яндекс.Метро: https://metro.yandex.ru/moscow Нужный результат получается если отправить запрос вида https://metro.yandex.ru/moscow?from=53&to=61&route=0 где после from и to идут id-шники станций. Вопрос в том, как получить связь названия станции и ее id. Посмотрел скрипт _index.ru.js, там есть функция getStationArray, но то ли это? Как ее вызвать и сохранить результат? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2015, 23:17 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Раз разово - не проще тупо вручную, чем долго искать автоматизацию. Тем более номера станций вдоль линий идут подряд (разве что крайние станции надо перепроверить - свежевведенные) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2015, 23:31 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Shocker.Pro, Станций не так мало, и я не заметил, чтобы номера шли подряд. Например, Мякинино-Строгино. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2015, 23:36 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Мякинино - станция относительно новая, добавлена позже. Строгино-Крылатское, например, уже идут подряд. Например, Бульвар Рокоссовского - Юго-Западная - номера подряд 1-19. Тропарево - отдельно - ее открыли недавно. Тут на полчаса работы всего. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2015, 23:48 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Shocker.Pro, К сожалению, вопросы на этом не закончились. Даже если знать id и давать запрос в виде https://metro.yandex.ru/moscow?from=53&to=61&route=0 ответный html не содержит элемента со временем в пути. Он то ли javascript'ом потом добавляется, то ли еще как-то. Для скачки пробовал использовать класс, как описано здесь: http://stackoverflow.com/questions/1307800/view-generated-source-after-ajax-javascript-in-c-sharp Как можно получить ответ с необходимым html элементом? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 15:19 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Ну так проанализируй отладчиком браузера обмен с сервером. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 16:37 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Shocker.Pro, Посмотрел, не разобрался. Информация передается в бинарниках, кода много, он обфусцированный. Можно все же получить нужную информацию более простым методом. Попробовал создать WinForms приложение с элементом WebBrowser. Есть следующий код: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Сначала жму на GO (вызывается btnGetHtml_Click), когда в браузере отображается время в пути жму на GetHtml (вызывается btnGetHtml_Click). При этом в сохраненном файле время в пути отсутствует. Как такое может быть? Если смотреть в Chrome, там Код: html 1.
отображается... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 19:03 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
В DocumentText, если не ошибаюсь, хранится только то, что загружено первым запросом, изменения DOM там не отражаются. Вроде бы можно подключиться к DOM загруженного документа в webBrowser, кажется было что-то на эту тему, но сам я не лазил, не подскажу. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 19:11 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
вот что подумал, у яндекс-карт ведь есть АПИ. Сами яндекс-карты умеют строить маршруты "на общественном транспорте". Может попробовать воспользоваться этим АПИ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 19:12 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Shocker.Pro, речь о https://tech.yandex.ru/maps/ ? Я не нашел там возможность смотреть время на общественном транспорте... С dom'ом в WebBrowser тоже не ясно. Про DocumentText в MSDN пишут следующее: Gets or sets the HTML contents of the page displayed in the WebBrowser control. Что вызывает вопрос: как так получается, что WebBrowser отображает элемент (его можно посмотреть в Google Chrome), который при этом в свойстве DocumentText не отображается? Как этот элемент можно посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 22:17 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
stuffhappensкак так получается, что WebBrowser отображает элемент (его можно посмотреть в Google Chrome), который при этом в свойстве DocumentText не отображается?если изменения в DOM внесены ява-скриптом. Хром и другие отладчики как бы восстанавливают html из DOM для удобства отладки. А DocumentText хранит первоначальный текст документа, который был загружен изначальным запросом. Чтобы было понятно, нажмите правой кнопкой в браузере и выберите "просмотр кода страницы". Это и есть DocumentText (в первоначальном виде). stuffhappensКак этот элемент можно посмотреть?через DOM ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2015, 22:44 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Shocker.Pro, Shocker.Pro, Спасибо, получилось. Вот код, который из WebBrowser'а получать время в пути. Может кому-нибудь пригодится. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2015, 13:26 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Ну еще справочник станций выложи плиз, чтобы кому-то второй раз ту же работу не делать ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2015, 13:32 |
|
Время между станциями метро Москва
|
|||
---|---|---|---|
#18+
Shocker.Pro, Станции тоже в автоматическом режиме тащил. Делал запросы вида https://metro.yandex.ru/moscow?from=1&to=2&route=0 from фиксировано, to изменяется. Дальше название станций (from и to) можно вытащить так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 22:47 |
|
|
start [/forum/topic.php?fid=20&fpage=72&tid=1401029]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 336ms |
total: | 461ms |
0 / 0 |