Как я могу отсканировать результат HTML в нетривиальном пользовательском сценарии - PullRequest
0 голосов
/ 09 ноября 2011

Я хочу иметь возможность получить HTML-код для страницы, который, если бы я делал это в интерактивном режиме в браузере, включал бы несколько действий и загрузку страницы: 1. Перейти на домашнюю страницу 2. Введите текст в форму входа и отправьтеформа (сообщение) 3. В сообщении будут проходить различные перенаправления и использование набора фреймов.

Куки-файлы адаптируются в течение всего этого процесса.

В браузере после отправки я просто получаю страницу.

Но чтобы сделать это с помощью curl (в PHP и т. Д.) Или с помощью wget или другой низкоуровневой технологии, управление файлами cookie, перенаправлениями и наборами фреймов становится довольно трудоемким и очень тесно связывает мой скрипт с веб-сайтом (делаяэто очень восприимчиво даже к небольшим изменениям на веб-сайте, с которого я работаю.)

Кто-нибудь может предложить способ сделать это?

Я уже посмотрел на Лом и PhantomJS и Lynx (с параметрами cmd_log / cmd_script), но объединяя все вместе, чтобы имитировать то, что я делал бы в Firefox или Chrome - это сложно.

(Кроме того, целевому сайту может быть даже полезно / необходимо подумать, что этот скрипт Firefox или Chrome или "настоящий" браузер)

Ответы [ 3 ]

2 голосов
/ 09 ноября 2011

Один из способов сделать это - использовать Selenium RC. Хотя обычно он используется для тестирования, по своей сути это просто служба удаленного управления браузером.

Используйте этот веб-сайт в качестве отправной точки: http://seleniumhq.org/projects/remote-control/

0 голосов
/ 14 ноября 2011

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

Или просто войдите в свой браузер и затем повторно используйте cookie в своем коде.

0 голосов
/ 12 ноября 2011

Вы можете использовать irobot на irobotsoft, чтобы записать робота и воспроизвести его.

Если вы предпочитаете низкоуровневое управление, вы можете использовать интерфейс HTQL python, см .: http://htql.net/htql-python-manual.pdf. Он позволяет вам получить доступ к браузеру на основе IE из python.

...