Предлагаем вашему вниманию скрипт, который добавляет объявления на бесплатную доску объявлений Slando.
Скрипт берёт данные для объявления из заранее подготовленного csv файла и добавляет их на Slando,
при первом проходе скрипт идёт на почту и активирует там добавленное объявление.
В CSV файле данные для объявления содержаться в следующем формате:
заголовок объявления;раздел объявления;тип объявления;марка;модель;цена;цвет;год;кпп;топливо;
объём двигателя;пробег;бизнес или частное лицо;номер телефона;описание;список фотографий через ,;
регион;город;контактное лицо
Peugeot 508 Allure 2.0HDI 2012;Транспорт;Легковые автомобили;Peugeot;508;37638;Белый;2012;Автомат;
Дизель;2000;4000;Частное лицо;0953203020;
Безопасность: ABD, ABS, ESP, Иммобилайзер, Ксеноновые фары, Подушка безопасности (Airbag), Серворуль, Сигнализация,
Центральный замок. Комфорт: Бортовой компьютер, Датчик света, Климат контроль, Кожаный салон,
Круиз контроль, Мультируль, Омыватель фар, Парктроник, Подогрев зеркал, Подогрев сидений,
Сенсор дождя, Усилитель руля, Эл. стеклоподъемники, Электропакет.Мультимедиа: CD, DVD, MP3,
Акустика, Магнитола, Система навигации GPS.Автомобиль с тест-драйва, на учете не стоял.
Комплектация Allure + ксенон + сигнализация + передний парктроник + белый перламутр.;img1.jpg,img2.jpg;Киевская;Киев;iltaua
… и т.д.
Настройки скрипта:
1 2 3 4 5 6 7 8 9 10 11 |
// почтовый ящик $email="vanya.testscript@mail.ru"; // логин почты $mail_login="vanya.testscript"; // пароль $mail_password="q1w2e3r4t5"; // полный путь к папке с картинками $img_path="C:\\XWeb\\Human Emulator\\My Scripts\\slando\\images\\" ; // путь к csv файлу с объявлениями $file_path="data/adwords.csv"; |
Для разбора данных мы написали специальный класс AdwordData. В скрипте мы объявляем объект этого класса,
а затем разбираем в него данные для того что бы передать их в форму добавления объявлений.
Для разбора CSV файла мы используем стандартные функции PHP. В принципе,
можно обойтись и без определения класса и работы с ним и передавать массив
с данными напрямую в функцию добавления объявления add_adword($obj)
по аналогии как это сделано в функции set($arr) в классе AdwordData.
В нашем случае работа с классом добавлена для наглядности.
Сам скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
<?php /* ** // Наш сайт http://x-scripts.com // Скрипт скрипт добавления объявлений на доску slando. // страничка скрипта http://x-scripts.com/scripts/slando.php // по любым вопросам касающимся скрипта // можно написать нам на мыло order@x-scripts.com ** */ $xhe_host ="127.0.0.1:7010"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // //////////////////////// настройки скрипта ///////////////////////// // почтовый ящик $email="vanya.testscript@mail.ru"; // логин почты $mail_login="vanya.testscript"; // пароль $mail_password="q1w2e3r4t5"; // полный путь к папке с картинками $img_path="C:\\XWeb\\Human Emulator\\My Scripts\\slando\\images\\" ; // путь к файлу с объявлениями $file_path="data/adwords.csv"; // скрипт работает в режим отладки $dbg = true; // //////////////////////// дополнительные модули /////////////// // функции require_once("tools/functions.php"); // функции require_once("tools/adw_data.php"); // /////////////////////// скрипт /////////////////////////////////////////// debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт запустили"); // задать как ие 7 $browser->set_model("IE7 Standard"); // подать все объявления из csv файла if (($handle = fopen($file_path, "r")) !== true) { while (($data = fgetcsv($handle,0, ";")) !== true) { // перейти на доску $browser->navigate("slando.com.ua"); // перейти к подаче объявления $anchor->click_by_inner_text("+ Подать объявление"); // создадим объект $obj_adw = new AdwordData(); // задать в объект значения $obj_adw->set($data); // показать что разобрали в панель отладки //$obj_adw->show(); // добавить объявление в форму add_adword($obj_adw); // объявление прошло удачно if($anchor->is_exist_by_inner_text("Проверить почту ",false)) { // активировать объявление activate_by_mail($mail_login,$mail_password); } else debug_mess("не добавили объявление!!!"); // закрыть все табы $browser->close_all_tabs(); } fclose($handle); } debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт закончил работу"); // Quit $app->quit(); ?> |
Скрипт написан 4.11.2012 в Human Emulator 4.4.21 Advanced.