Что нового

Скачивание документов с сайта

Suppir

Продвинутый
Сообщения
967
Репутация
62
Есть такой сайт:
http://publication.pravo.gov.ru/SignatoryAuthority/region24

Нужно наладить скачивание документов в сайта. Проблема в том, что на странице отображаются только первые 30 документов. Чтобы посмотреть следующие 30 документов, нужно кликнуть по кнопке "следующая" (внизу страницы). При этом адрес страницы не меняется, но отображаются следующие 30 шт.

Вопрос в том, как с помощью AutoIt программно кликать по этой кнопке?
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Внутри скачанной страницы есть такой код:

Код:
 function updateResults() {
                var sendParams = jQuery("#consultant-search").serialize();
                $.ajax({
                    url: '/Search/DocumentSearchResult',
                    data: sendParams + "&search.RangeSize=" + glRangesize + "&search.CurrentPageNumber=" + glCurrentpage,
                    success: function(data) {
                        $("#resultsDiv").html(data);
                    }
                });
            }

Вопрос в том, как сформировать подобный запрос к странице, но только подставить RangeSize = 200 или CurrentPageNumber = 2.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Это обычный GET с параметрами, реализуется через
Код:
inetread

Открываете отладку в браузере, закладка сеть, нажимаете на сайте следующие 30 шт. и смотрите запрос. Повторяете.
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Нажимаю F12 в Chrome. Не совсем понятно, где должен быть прописан этот запрос.
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Я открыл закладку, там прописан длиннющий запрос. Пытаюсь вставить этот запрос в браузер - пишет ошибку: Sorry, an error occurred while processing your request.

То есть мне как-то нужно получить строку (что возвращает браузер) после нажатия кнопки "следующая страница".
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Вот этот?
Код:
http://publication.pravo.gov.ru/Search/DocumentSearchResult?search.IsShowAppendPageCountList=true&search.IsLastUpdateList=true&search.FiltrationSignatoryAuthorityCode=region24&search.FiltrationSignatoryAuthorityId=&search.SelectedSignatoryAuthorityId=00000000-0000-0000-0000-000000000000&search.RangeSize=30&search.CurrentPageNumber=2
Скорее всего ошибка из за того, что нужно все заголовки передавать, плюс куки
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Да, этот запрос не работает, если просто в браузерную строку вставить.
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Я бы хотел консольную программку, которая:

1) скачивает страницу: http://publication.pravo.gov.ru/SignatoryAuthority/region24
2) потом нажимает на кнопку "следующая" (или посылает соответствующий запрос) и скачивает следующую страницу;
3) потом еще раз нажимает на кнопку "следующая" (или посылает соответствующий запрос) и скачивает следующую страницу.

То есть нужно скачивать в html первые три страницы.
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
На самом деле задача сложнее: нужно написать полноценный граббер сайта. Чтобы документы разных регионов скачивал, поддерживал консольный запуск, кучу параметров и т.д. Я привел только небольшой кусок задачи... Собственно, где у меня "затык".
 
Верх