На различных фриланс-биржах регулярно появляются задания по подготовки XML из эксель или гугл таблиц для автозагрузки в авито, юлу, а также для других приложений и CRM-систем. Я расскажу как это сделать буквально за пару минут, что позволит вам регулярно зарабатывать на таких заданиях.
Показывать буду на примере авито. Через поиск легко найти формат XML для авито, также находятся форматы и для других сервисов. Например, для рубрики "личные вещи" у авито следующий формат: http://autoload.avito.ru/format/lichnye_veschi/
Видно, что файл состоит из уникального корневого элемента "Ads", в который вложены все объявления в виде элемента "Ad" и содержат в себе все параметры объявления под отдельными именами. Сложность только в блоке с изображениями - они представлены немного по другому. Но не будем пока делать на этом акцент.
Выпишем все названия элементов (кроме групповых Ads и Images) в строку:
У меня получилось 32 элемента. Можно отдельно обозначить звездочками обязательные для заполнения элементы (сверху). В табличку ниже нужно будет просто копировать параметры объявления из файлов заказчика (вручную или формулами). Осталось дело за малым - сохранить в XML. Для этого нужно будет создать скрипт:
И напишем несколько функций:
- Функция GetXML будет конвертировать содержимое таблицы в формат XML
- Функция SaveXML буде сохранять файл на гугл диск
- С помощью функции GetIdFromUrl мы сможем сохранить в специальную папку
- А функция onOpen выполнится при каждом открытии файли и позволит нам создать свой пункт меню для выполнения сохранения.
Текст функций я покажу в галерее, а также вы можете скопировать расшаренный файл себе и открыть редактор скриптов.
Самое важное выполняется в функции GetXML - для каждой строки после 4-й мы добавляем элемент <Ad>, и вкладываем в него все остальные элементы, для которых заполнены данные, вплоть до элемента <Image>, который мы вкладываем в отдельный элемент <Images>, а саму ссылку на изображение мы сохраняем как параметр элемента <Image url="ссылка">
После перечисления всех характеристик товара мы должны "закрыть" элемент <Ad>, добавив зеркальный ему </Ad>, а когда все строки закончатся, мы должны закрыть и корневой элемент <Ads>, аналогично, добавиви </Ads>
Все что получилось мы сохраняем как текстовый файл. В теории просто. Давайте проверим: заполняем пару строк, чтобы не загружать пустой файл:
И жмем кнопку в меню, которую мы создали для генерации файла. Нам отображается сообщение со ссылкой на файл, который мы только что создали.
Загружаем этот файл и отправляем в авито на проверку:
Ура! Все работает :-)
Теперь ваша очередь - попробуйте и вы создать файл для автозагрузки. Здесь вы можете найти файл проекта. Чтобы просмотреть или поменять скрипт, сохраните его себе на диск. И помните, при первом запуске скрипта гугл попросит авторизовать это действие.
Пишите в комментариях сколько удалось заработать :-) ну или если есть какие-либо вопросы.