как получить ссылки на страницы - PullRequest
0 голосов
/ 11 февраля 2012

Я использую HTTPClient и Jsoup, чтобы получить URL-адреса и перемещаться по страницам.У меня есть сценарий, где одна ссылка имеет 3 или 4 страницы, контролируемые нумерацией страниц.При отправке каждого номера публикуется действие, изменяется URL-адрес и выполняется навигация.Как я могу получить эти URL-адреса с главной страницы?

так устроена моя нумерация страниц в интерфейсе пользователя

<div class="pagination">
<div class="label">Page: </div>         
<div class="button selected" onclick="$('.page-position', $(this).closest('form')).attr('value', $(this).html()); $(this).closest('form').submit();">1</div>        
<div class="button " onclick="$('.page-position', $(this).closest('form')).attr('value', $(this).html()); $(this).closest('form').submit();">2</div>
<div class="button " onclick="$('.page-position', $(this).closest('form')).attr('value', $(this).html()); $(this).closest('form').submit();">3</div>            
<div class="button" onclick="$('.page-position', $(this).closest('form')).attr('value', 2);$(this).closest('form').submit();">Next</div>
</div>

Ответы [ 2 ]

2 голосов
/ 11 февраля 2012

Jsoup анализирует статический HTML.URL-адреса создаются Javascript / JQuery.Так что вы не можете сделать это с Jsoup.Вы можете попробовать HtmlUnit , чтобы создать страницу и отобразить Javascript, тогда просто выбрать div.

1 голос
/ 11 февраля 2012

Это зависит от страницы, на которую вы пытаетесь попасть. У большинства веб-сайтов в наши дни очень хорошо структурированный URL, поэтому все сводится к тому, насколько легко интерпретировать URL. Вы можете использовать firebug на firefox, чтобы получить путь к css / xpath и использовать jsoup http://jsoup.org/cookbook/extracting-data/dom-navigation

Если, с другой стороны, у сайта есть неструктурированный URL-адрес, просто выполните навигацию по нему, как если бы вы использовали браузер, то есть переходили назад и вперед. Используйте первую страницу со ссылками в качестве якоря, затем переходите назад и вперед. На Python вы можете сделать это, используя mechanize.

...