Light777
@Light777
Developer

Узнать URL страницы?

Всем привет! Есть такая страница справочник с названиями компаний www.nashgorod.kz/Firms/ru/1670
И вот я хочу скачать email grabberom все email адреса на странице, но получается что только могу скачать с первой страницы потому что УРЛы других страниц не выдает и еще не показывается урл когда я ставлю отобразить 100 записей. Как быть? Есть ли какое нибудь решение?
  • Вопрос задан
  • 432 просмотра
Пригласить эксперта
Ответы на вопрос 1
SergeyRodyushkin
@SergeyRodyushkin
.NET Developer
Ох, уж эти Web Forms!
Думаю, для понимания механизма достаточно будет открыть вкладку Network dev-консоли Chrome, понажимать разные кнопки и посмотреть, какие запросы отправляются.
За выполнение действий по postback отвечают поля __EVENTTARGET и __EVENTARGUMENT POST-запроса. Сценарий рисуется примерно такой:
  1. Отправляем POST-запрос к странице с аргументами для установки размера страницы в 100 записей (нужные аргументы можно взять из консоли, взять их из страницы, навскидку, непросто).
  2. Парсим email'ы.
  3. Ищем ссылку на следующую страницу. Нам интересны ссылки (a), расположенные внутри блока с классом .rgNumPart. Пейджер отображается дважды, поэтому берем только первый блок.
  4. Находим в нем элемент a, следующий за a.rgCurrentPage. Если такого нет, мы просмотрели список до конца.
  5. Из атрибута href ссылки регуляркой достаем идентификатор вроде ctl00$MainContent$RadGrid1$ctl00$ctl03$ctl01$ctl03. Это будет новый __EVENTTARGET.
  6. Отправляем новый POST-запрос с новыми аргументами, переходим к шагу 2.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы