Создание страниц.

Тема в разделе "Решение различных задач по парсингу", создана пользователем Maverick, 2 фев 2014.

  1. Maverick

    Maverick New Member Пользователи

    Регистрация:
    3 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    подскажите пожалуйста.
    Задача следующая :
    нужно из текстового списка:
    фраза-1
    фраза-2
    фраза-3
    фраза-4
    фраза-5
    фраза-6
    Создать страницы в cms ( шаблон вывода есть )
    Как попросить программу перебрать все фразы по одной и отправить на шаблон вывода для создания страниц?
    Спасибо.
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Симпатии:
    3.485
    Здравствуйте.

    Формулировка задачи не совсем ясная! Как обычно, погадав, выскажу решение:

    - Сохранить фразы в текстовый файл на диск
    - Подключить этот файл в шаблон вывода макросом FILE
    При парсинге строки из файла будут поочередно, как вы говорите, отправляться в шаблон вывода =).

    :bow:
     
  3. Maverick

    Maverick New Member Пользователи

    Регистрация:
    3 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    Спасибо , попробую.
    Кажется простая задача, а всю голову сломал.
     
  4. Maverick

    Maverick New Member Пользователи

    Регистрация:
    3 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    Итак :
    Шаблон вывода:
    <FILE=D:\allkeys.txt>
    <PHP_SCRIPT=http://site.ru/insert.php>
    alt_title=<CD_GRAN_1!>
    </PHP_SCRIPT>

    Конечная задача, чтобы строки из файла allkeys.txt
    по одному добавлялись в БД cms параметром <CD_GRAN_1!>

    Когда я начинаю парсинг :
    пишет, что не ссылок, задайте хотя бы одну.
    Но все дело в том, что ссылок и не будет - надо просто распарсить файл allkeys.txt и создать страницы.
     
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Симпатии:
    3.485
    Добавить сколько нужно любых ссылок в программу, например таких Ссылки недоступны для гостей (нажав F8 в главном окне программы).

    Опять же не понятно, что такое у вас "параметром <CD_GRAN_1!>", что вы задали в <CD_GRAN_1!> я не понимаю. Наверное нужно не параметр какой-то передавать в базу, а строку из файла? Опять же, гадая =), если да, то делайте так:
     
  6. Maverick

    Maverick New Member Пользователи

    Регистрация:
    3 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    а он не будит ddos-ить этот урл ?

    А насчет конструкции шаблона вывода, что Вы привели. Спасибо большое, это то что нужно.
     
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Симпатии:
    3.485
    Пожалуйста.
    Можете добавить один и тот же любой файл с локального диска вместо ссылок, например C:\lipa.txt...
    Обращайтесь! =)
     
  8. Maverick

    Maverick New Member Пользователи

    Регистрация:
    3 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    Мы продолжаем КВН (с)
    Итак прошу еще немного помощи:
    Шаблон вывода:
    Где trans.txt - фразы в транслите

    key.txt - просто ключи

    Все они идут по порядку фразе 1 , соответствует транслит 1

    НО у меня происходит рассинхрон при заливке в базу

    [​IMG]

    картинка не подгрузилась , смотреть тут
    Ссылки недоступны для гостей

    Так и не смог понять в чем дело. Умом понимаю, что нужен другой алгоритм.

    1. Берем один файл
    2. Из него ключ идет в "title="
    3. Этот же ключ переводится в транслит, пробелы заменяются "_" и фраза уходит в "alt_title="
    4. Потом все это уходит в скрипт и пишется в базу.

    Помогите разобраться, как это реализовать. Не хватает у меня пока навыков.
    Спасибо.
     
  9. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    Симпатии:
    6
    1. сравните файлы выборочно по номерам строк - точно ли они совпадают
    2. в опциях макроса FILE отметьте "только 1 номер строки для каждого док-та"

    решить задачу одним файлом, при нынешней последовательности макросов, не получится, хотя ход мыслей совершенно верный. дело в том, что FILE срабатывает позже чем TO_TRANSLITE поэтому на момент транслитерации обрабатывать еще нечего, строка из файла на этот момент еще не загружена.
    так что эта комбинация не действует
    [TOTRANSLITE:regdown,clear,convertspaces]<FILE=C:\xxxx.txt>[/TOTRANSLITE]
    итого: нужен отдельный файл транслитерации.


    есть еще вариант - но проверять его работоспособность мне, честно говоря, лень. смысл - отказаться от макроса FILE вообще.

    иначе говоря - распарсить текстовый файл повторяющимися границами, тогда вся конструкция переместится в настройки повторяющейся границы, туда же засунуть TOTRANSLITE+PHP и в конце прилепите NEXTFILE
    вроде может получиться как надо.

    в настройках повт. границы -
    HTML:
    <PHP_SCRIPT=http://site.ru/insert.php>
    alt_title=[TOTRANSLITE:regdown,clear,convertspaces][VALUE][/TOTRANSLITE]
    title=[VALUE]
    </PHP_SCRIPT>
    [NEXTFILE]
    а в шаблоне вывода просто
    <CD_CYCLE_GRAN_1!>

    как-то так
     
    Последнее редактирование: 3 фев 2014
  10. Maverick

    Maverick New Member Пользователи

    Регистрация:
    3 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    2 nikolas1612 - спасибо, что откликнулись.

    Решил вопрос с синхронизацией, помог вот этот дельный совет.
    Остался открытым вопрос как автоматизировать создание второго файла с транслитом, т.е. подготовить из файла с фразами - файл с транслитом и заменой пробелов "_".

    Можно это как-то автоматизировать ?
     
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Симпатии:
    3.485
    Здравствуйте.
    Прошу обратиться ко мне в Skype, скину версию (до выхода обновления), где TOTRANSLITE выполняется после FILE =)
    Спасибо!
     
  12. Maverick

    Maverick New Member Пользователи

    Регистрация:
    3 мар 2013
    Сообщения:
    7
    Симпатии:
    0
    Ура заработало !
    Спасибо автору за обновленный файлик и всем, кто помог.
    Удачи в делах !

    to be continued ...
     

Поделиться этой страницей