Макрос шаблона вывода [GETMORECYCLECONTENT]


Этот макрос предназначен для парсинга повторяющихся границ парсинга с любого заданного web-адреса:

[GETMORECYCLECONTENT][URL]ссылка[/URL][START]начало парсинга[/START][END]конец парсинга[/END][TOSTART]добавить в начало каждого цикла[/TOSTART][TOEND]добавить в конец каждого цикла[/TOEND][PARAMS]параметры[/PARAMS][SEP]чем разделять циклы[/SEP][MAX]максимальное число циклов[/MAX][MIN]минимальное число циклов[/MIN][/GETMORECYCLECONTENT]

Ссылка (обязательно) — абсолютная ссылка, с которой будут грузиться данные, например http://site.ru/page.html
Также вместо ссылки можно указывать оператор [SELF]. В этом случае, поиск циклов [GETMORECYCLECONTENT] будет производиться в закешированном коде текущего документа (который парсите) БЕЗ ВЫПОЛНЕНИЯ ОТДЕЛЬНОГО GET-ЗАПРОСА для макроса [GETMORECYCLECONTENT].

Начало парсинга и конец парсинга (обязательно) — любой текст или код, между которым находятся данные, которые надо спарсить.

Добавить в начало каждого цикла и добавить в конец каждого цикла — любой текст или код, который будет добавляться в начало или в конец к данным, которые парсятся.

Параметры [MAX] и [MiN] могут быть положительными числами и служат для ограничения количества циклов (максимальное и минимальное число циклов). Параметры [MAX] и [MiN] можно не указывать.

Параметры:
— withgran (парсить контент вместе с началом и концом парсинга)
— withfirstgran (парсить контент вместе с началом парсинга START)
— htmtotxt (преобразовать html код в текст)
— tocsv (преобразовать текст в одну строку)
— koi (указать кодировку загружаемого документа, как koi)
— utf-8 (указать кодировку загружаемого документа, как utf-8)
— ansi (указать кодировку загружаемого документа, как ansi)
— custom (указать пользовательскую кодировку (любую кодировку, настраивается в ctrl+8 -> вкладка «кодировки»))
Параметры указываются в одну строку через запятую.

Чем разделять циклы — любой текст или код, который будет использоваться в качестве разделителя циклов повторяющихся границ парсинга. Если вы хотите использовать в качестве разделителя переход на новую строку, укажите {br}

Вместо [URL]ссылка[/URL] вы можете вставить [SOURCE]текст/код[/SOURCE], где текст/код может быть и <CD_GRAN_…!>, и макрос GETMORECONTENT. В этом случае, поиск повторяющихся границ будет осуществляться в заданном текст/код.


В макросе [GETMORECYCLECONTENT] по умолчанию используются GET-запросы. Если вам нужно использовать POST-запросы, добавьте оператор [POST] в конец параметра URL:

[GETMORECYCLECONTENT][URL]http://SBFactory.ru[POST][/URL][START]начало парсинга[/START][END]конец парсинга[/END][TOSTART]добавить в начало каждого цикла[/TOSTART][TOEND]добавить в конец каждого цикла[/TOEND][PARAMS]параметры[/PARAMS][SEP]чем разделять циклы[/SEP][MAX]максимальное число циклов[/MAX][MIN]минимальное число циклов[/MIN][/GETMORECYCLECONTENT]

А если нужно передать POST-data, то вместо оператора [POST] используйте конструкцию [POST]POST-data[/POST]:

[GETMORECYCLECONTENT][URL]http://SBFactory.ru[POST]p=600[/POST][/URL][START]начало парсинга[/START][END]конец парсинга[/END][TOSTART]добавить в начало каждого цикла[/TOSTART][TOEND]добавить в конец каждого цикла[/TOEND][PARAMS]параметры[/PARAMS][SEP]чем разделять циклы[/SEP][MAX]максимальное число циклов[/MAX][MIN]минимальное число циклов[/MIN][/GETMORECYCLECONTENT]



1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 8, средний балл: 2,75)

Загрузка...
Автор: admin, 3 февраля 2012
Рубрики: Парсинг
Метки: ,
10 комментариев к сообщению: “Макрос шаблона вывода [GETMORECYCLECONTENT]”
  1. Henry:

    Можно все таки рабочий пример с двойным уровнем вложенности.
    Когда нужно стянуть просто промежутки по ссылке, получаемой в gran… это понятно, но вот когда по [GETMORECYCLECONTENT] получаешь список ссылок, Тегом [TOSTART]http:// делаешь вывод полнных ссылок, разделаешь их br И в них в каждой нужно стянуть по промежуткам, вот тут затык.
    Вопросов много; и как должна строиться конструкция, и как получать ссылки первым тегом GETMORECYCLECONTENT и чем должны разделятся, и где именно должна быть замена — до парсинга, в шаблоне вывода или с помощью TOSTART , TOEND . Так же не совсем понятен тег SOURCE

    • Henry:

      Еще вопрос, можно ли в макросе указывать номер тега, например Название
      Описание
      когда нужно спарсить только некоторые ячейки таблиц, можно было бы указать парсить от 0 td и до первого td . Пробую регулярками резать замену столбцов после персинга, не получается, да и не лучший это метод.

  2. Stranger:

    Присоединяюсь к посту выше, очень нужен пример с двойным или даже с тройным уровнем вложенности, причем на каждом уровне чтобы были повторяющиеся границы.

  3. toperwm:

    Классическим примером парсинга многостраничного документа будет форум, и для полного понимания алгоритма многостраничного парсинга требукет хороший пример. А то это до сих нигде не решено публично.

  4. toperwm:

    Разобрался как им пользоватся, только нельзя через [GETMORECYCLECONTENT] парсить используя два шаблона границ, например, то что указано в , так как можно указать только выделить на вложенной странице только одну зону парсинга. Парсил форум, на первой странице через можно собрать НИК и СООБЩЕНИЕ, на страницах, начиная со 2, можно уже собрать только сообщение, так можно укзать только одну зону парсинга. Но в таком случае НИК можно заменить, например, словом «Аноним», или вставлять рандомом и списка. Меня полностю устраивает рандом, так как нет жестких требований.
    Перепробовал более 30 видов шаблона, и нашлось несколько хороших шаблоном для многостраничного парсинга.

  5. Ярослав:

    подскажите как правильно его использовать на примере, по вашему примеру, не работает
    [GETMORECYCLECONTENT] [SOURCE]{br} {br} «>[/SOURCE][/GETMORECYCLECONTENT]

  6. Post:

    Поддерживается ли синтактис аналогичный GETMORECONTENT в части выполнения POST-запросов?

    • admin:

      Здравствуйте.

      Теперь да. Загрузите и установите доработанную версию программы (в программе: меню — файл — центр обновлений -> обновить через сайт).

      С уважением к вам, Сергей.

Написать комментарий

Вы должны войти чтобы добавить комментарий.

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

css.php