ЗАДАЧА

Требуется реализовать программу получения нескольких файлов хмл-данных, обработку их и объединения в один общий.

Результатом работы является yml-файл для ЯндексМаркета

АЛГОРИТМ

1. Для каждого файла dirname(__FILE__).'/instructions/*.xml' выполнить:

1.1 Скопировать его по ftp-протоколу

1.2 скачать файл по http-протоколу отправив постом параметры с логином и паролем (при обращении файл сгенерируется на основе закаченного по ftp файла инструкций)

1.3 извлечь с содержимым теги

1.4 выполнить для каждого тега операции "Обработка хмл-данных для ЯндексМакета" п.п.4,5

2. Взять за основу один из скаченных файлов

2.1 выполнить для него "Обработка хмл-данных для ЯндексМакета" п.п.1,2,3

2.2 внутри тегов собрать теги из всех скаченных файлов

2.3 сохранить результат в файл dirname(__FILE__).'yandexmarket.yml'

Требования:

1. вначале файла комментарий с кратким описанием и перечнем файлов, директорий, куда программа пишет, то есть должны быть права записи

2. конфигурационные параметры (логин, пароль, имена хостов, названия файлов, $debug) хранить в отдельном файле

3. лог работы выводить в stdout с указанием даты и времени запуска и завершения программы, длительности, имен закаченных хмл-файлов и числа закешированных фотографий

Обработка хмл-данных для ЯндексМакета

0. Очистка

0.1. Удалить текст до строки не включая её

0.2. Удалить текст после строки не включая её

1. Внутри тега теги

XXX

XXX

заменить на

Company

Company

2. http://xxx.ru/ внутри тега

заменить на http://site.ru/

3. Замена тега внутри тега

Текст втнутри тегов вида http://xxx.ru/(.+)

заменить на http://site.ru/tours/$1.html

Примечание: $1 === (\w+)

4. Замена тегов внутри тега

4.1

Тег имеет вид http://xxx.ru//srcimg/([^/]+)

Cледует заменить на http://size.ru/tours/photo/country/$1

4.1

Тег имеет вид (http://xxx.ru/[^/]+) то есть обязательно указан атрибут id

- Весь тег следует заменить на http://size.ru/tours/photo/hotel/$1.jpg

- проверить существование файла dirname(__FILE__)."/photo/hotel/$1.jpg", если его нет,

то выполнить cp($2, dirname(__FILE__)."/photo/hotel/$1.jpg") - если при копировании произошла ошибка, вывести сообщение с указанием обоих файлов

14 лет назад
pakaln
Эдуард 
47 лет
17 лет в сервисе
Был
3 года назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • Есть своя система управления, есть готовая верстка. Нужно поставить ее на систему управления. Реализована система дизайнана файлах tpl У прошлого верстальщика\прогера занимало примерно 2 часа свободного времени установки сайта. Проекты систематично ...

    Закрыт
    14 лет назад
  • Ищу профессионального верстальщика с прямыми рукам Есть макет, который нужно сверстать и натянуть на cms ModX. Там 5 страничек. Требуется: Вёрстка четко как на макете 1 в 1 без погрешностей. Поддержка ...

    Закрыт
    14 лет назад
  • Необходимо доработать скрипт для управления задачами myTinyTodo (http://www.mytinytodo.net/ru/). 1. Добавить визуальный редактор с возможностью добавления изображений, видео, файлов 2. Сделать скрипт многопользовательским (с разделением прав по группам, регистрацией, профилем) ...

    Закрыт
    14 лет назад
  • Спарсить в одну базу Всем привет, Хочу найти исполнителя, который сможет реализовать следующее: - парсить в одну базу данные с 10 сайтов; - из этой базы ...

    Закрыт
    14 лет назад