Нюансы парсинга и настройки программы (важно усвоить)


1. Парсинг ссылок с символом решетки (#)

Например, есть URL website.ru/goods/#p=3. Обратите внимание на символ # и данные после него. Эти данные при GET или POST запросах никак не учитываются. То есть GET или POST запрос отправляется к адресу website.ru/goods/, а часть #p=3 игнорируется!

PS: В Content Downloader при парсинге WEB документов по умолчанию используются GET запросы. Смена библиотек запросов выполняется в окне настроек HTTP запросов программы (ctrl+h). Используйте библиотеку Clever Internet Suite (CIS) для отправки прямых GET или POST запросов, а WBApp для парсинга WEB документов с использованием WEB браузера (Internet Explorer или Chromium).

Все, что стоит после # учитывается только WEB браузерами. Только WEB браузеры обрабатывают эту часть ссылок и выполняют дальнейшие действия (в зависимости от скриптов на WEB странице).


Варианты решения вопроса парсинга ссылок с символом решетки:

1) Парсить с использованием движка браузера ссылки с символом решетки #. Достаточно в окне настроек HTTP запросов программы (ctrl+h) выбрать библиотеку WBapp и парсить ссылки в неизменном виде;

2) Узнать, к каким адресам браузер делает дополнительные запросы для подгрузки нужных данных и парсить эти URL адреса с помощью GET или POST запросов. Например, открыв в браузере ссылку типа website.ru/goods/#p=3, браузер сделает GET запрос к адресу website.ru/goods/?ProductPage=3 (этот адрес и нужно узнать и парсить данные уже с него).



2. Частые ошибки при настройке повторяющихся границ парсинга

а) Циклы повторяющихся границ парсинга выводятся не так, как нужно (либо на отдельные строки CSV, либо в отдельные ячейки строки CSV, либо в одну ячейку).
Для каждой из повторяющихся границ парсинга устанавливается свой разделитель циклов. Разделитель циклов вставляется между значениями циклов повторяющихся границ парсинга при выводе данных в результат парсинга и влияет на его вид.
В качестве разделителя циклов можно использовать любой текст/код. Например:
[CSVCS] — оператор обозначения разделителя ячеек CSV (при таком разделителе циклов данные будут попадать в отдельные ячейки строки товара CSV);
[CSVLB] — оператор обозначения разделителя строк CSV (при таком разделителе циклов данные будут попадать на отдельные строки CSV, также обратите внимание внимание на этот материал: Как выводить определенные данные только в первом цикле повторяющихся границ прсинга);
{br} — оператор обозначения переноса строки (используйте этот разделитель циклов в случаях, когда нужно вывести данные в одну ячейку CSV при этом расположив каждый цикл с новой строки).
Разделитель циклов для каждой из повторяющихся границ парсинга указывается в окне настроек повторяющихся границ парсинга (ctrl+5 либо shift+ctrl+5).


1 Star2 Stars3 Stars4 Stars5 Stars (Еще нет оценок)

Загрузка...
Автор: admin, 1 июля 2020
Рубрики: Новости

Последние статьи

css.php