В основном у вас есть два варианта:
- подражают своей логике
- эмулирует действительный клиент
Если вы хотите пойти с # 1, вам придется прочитать их код Javascript и выяснить, как он работает. Я не могу объяснить это лучше, чем это, так как это сильно зависит от их кода; Вы просто должны знать Javascript и «прогуливать» их код. Затем заставьте ваш код выполнять ту же логику, чтобы сгенерировать URL «следующей страницы».
Если их система использует AJAX, вы все равно можете эмулировать его (вопреки тому, что было сказано при нажатии на голос). Для этого вы просто используете такой инструмент, как расширение Firebug Firefox, чтобы вы могли наблюдать за тем, что ваш браузер отправляет на их сервер «за кулисами». Затем заставьте ваш код отправлять поддельный HTTP-запрос, имитирующий их AJAX-запрос. Вы могли бы сделать это даже без такого инструмента, как Firebug: просто определите, что ваш браузер отправит, посмотрев код Javascript. Однако, если вы используете что-то вроде Firebug, это значительно упростит задачу (вместо того, чтобы делать вывод, вы можете просто увидеть, что отправляется).
Если вы хотите использовать вместо # 1, вам нужно будет использовать либо реальный браузер (и управлять им программно, используя что-то вроде Selenium), либо использовать что-то вроде Rhino для запуска Javascript. Использование настоящего браузера с такой системой управления, как Selenium, вероятно, самый простой способ; однако, это будет медленно, так как оно ограничено временем, которое требуется вашему браузеру для отображения страниц и тому подобного. Решение, использующее Rhino или что-то подобное, будет быстрее, но оно также потребует гораздо больше работы (вам придется анализировать HTML, включать все соответствующие файлы JS и т. Д.), Поэтому я рекомендую это только в качестве в крайнем случае.