Действие парсера «Загрузить страницу по ссылке»

Параметры действия:

Предназначение действия:

Действие выполняет загрузку страницы по ссылке.
Это одна из основных команд любого парсера, взаимодействующего с сайтом.

Исходным значением является URL страницы.

Доступно 5 вариантов загрузки страницы (параметр «Способ загрузки»). Способ загрузки может влиять на содержимое загруженной страницы. Если способ загрузки не задан, используется значение по умолчанию, заданное в настройках парсера на вкладке Дополнительно (подвкладка Разное).

Возвращаемое значение: HTML код страницы

 


Параметр «Способ загрузки»

Тип параметра: выбор из списка предопределенных значений

Допустимые значения параметра: <не задано>; WinHTTP; WinAPI; WinInet; IE; Browser

Значение по умолчанию: <не задано>

Программа поддерживает несколько способов загрузки страницы:

WinHTTPWinAPI / WinInet — без использования браузера (загружается только html код, скрипты на странице не отрабатывают). Обычно этот вариант намного быстрее и стабильнее, чем вариант с браузером.

IE / Browser — загрузка страницы при помощи браузера (загружается не только страница, но и все картинки и прочие данные, на странице отрабатывают js скрипты). В каких случаях имеет смысл применять браузер

Если значение параметра не задано, используется способ загрузки, заданный в настройках парсера на вкладке «Дополнительно» - «Разное» (по умолчанию это WinHTTP)
 

Параметр «Кеширование»

Тип параметра: выбор из списка, или ввод вручную

Примеры значений параметра: <не задано>; да; нет; только запись

Значение по умолчанию: <не задано>

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

В большинстве случаев (99%), этот параметр изменять не требуется

Если значение параметра не задано, используется параметр «Кеширование для загружаемых веб-страниц», заданный в настройках парсера на вкладке «Дополнительно» - «Параметры» (по умолчанию кеширование страниц отключено)

Параметр «URL (вместо исходного значения)»

Тип параметра: произвольная ссылка

Позволяет задать URL для загрузки, не изменяя текущее значение (на входе действия)
Если в этом параметре указано какое-либо значение, то оно считается ссылкой для загрузки, а значение на входе действия игнорируется.

Этот параметр обычно указывается только в самом первом действии в парсере, если мы парсим сайт целиком, — когда мы загружаем стартовую страницу каталога, ссылка на которую не изменяется (хотя, как вариант, можно оставить этот параметр пустым, и указать ссылку в поле «Исходное значение» на вкладке «Исходные данные»)
В большинстве случаев этот параметр остаётся пустым, а ссылка берется из результата предыдущего действия (значение на входе действия)

 

Параметр «Дополнительные опции»

Тип параметра: выбор из списка, или ввод вручную

Примеры значений параметра: encoding:"utf-8"; ie-page-mask: "*SomeText*"; pager: page; pager: "page-#/";
browser-wait: Mask=*SomeText*; browser-wait: Time=8

В большинстве случаев этот параметр изменять не требуется (оставьте это поле пустым).
 

Дополнительные опции имеют синтаксис json вида название:"значение"
Если нужно указать несколько опций одновременно, то запись будет иметь вид {название1:"значение1",название2:"значение2",название3:"значение3"}
 

Поддерживаются следующие опции:

encoding:"кодировка" — позволяет принудительно указать парсеру на кодировку ответа сервера. В 99.8% случаев парсер сам корректно определяет используемую кодировку, основываясь на заголовках ответа сервера, но иногда может потребоваться принудительно указать кодировку utf-8

ie-page-mask:"маска" — применяется только при способе загрузки «IE», и задаёт маску текста, появления которого на странице будет ждать браузер IE. Используется, когда скрипты догружают данные на страницу с задержкой, и парсер должен ожидать, пока все скрипты не закончат работу (например, скрипт подгружает актуальную цену и наличие отдельными запросами уже после того, как страница загрузилась). Маска обычно имеет вид *SomeText*, где SomeText - слово или фраза, которые появляются на странице только после завершения работу скриптов в браузере.

pager: "маска пейджера" — позволяет загрузить по заданному URL не одну эту страницу, а все страницы результатов (программа найдет ссылки пейджера по заданной маске, и прогрузит их все). Результатом действия в этом случае будет МАССИВ значений (сколько страниц пейджера программа найдет, столько элементов и будет в массиве)
Чем полезна эта опция: она позволяет легко прогрузить все страницы пейджера, когда их количество заранее неизвестно (например, видно, что есть есть страницы результатов с 1 по 5, и только когда щелкнешь на пятой странице, пейджер меняется на 1 2 ... 5 ... 7 8, давая понять что есть еще страницы результатов, но сколько их всего - нет возможности узнать, не перебрав их все)
Есть варианты это сделать и другим способом, но данный вариант самый простой.

browser-wait: параметр=значение — используются только при способе загрузки Browser, для указания парсеру, какой из способов ожидания данных на странице нужно использовать.

 

Примеры использования:

 

Исходное значение
Ссылка: (откроется в новой вкладке)
Действие Параметр Значение Результат
Загрузить страницу по ссылке Способ загрузки   Исходный код веб-страницы (длиной 15742 символа)

Кеширование  
URL  
Дополнительные опции  

 

Комментарии

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

Задаю url (или несколько url) в поле "Исходное значение" на закладке "Исходные данные" (или загружаю список из файла), но действие "Загрузить страницу по ссылке" в первом действии списка действий, дает ошибку "Не задан URL страницы для загрузки". При этом если загрузить url (или группу url) через действие "Загрузить содержимое текстового файла" все работает. Как правильно реализовать первый вариант с загрузкой url через "Исходное значение"?