Что такое скрипт

Скрипт — это программа или программный файл сценарий, которые автоматизируют некоторую задачу, которую пользователь делал бы вручную, используя интерфейс программы.
Скрипты пишутся на скриптовый языках, которые различаются по своему синтаксису, сферам применения и возможностям. Например: AngelScript, Perl, Python, PHP,
JavaScript, JScript
и другие.

Сфера применения скриптов огромна. Например:

  • при их помощи пользователь получает возможность обращаться к базам данных
  • seo-скрипты, помогающие продвигать сайты, эти скрипты написаны, используя специальные программы автоматизации браузера — например XHE.
  • наблюдать статистику посещений (счетчики посещаемости)
  • совершать записи в гостевых книгах
  • оставлять комментарии к понравившимся статьям
  • на скриптах основаны все cms и форумы
  • скрипты помогают динамическому отображению веб-сайта
  • скрипты позволяют организовать изменения части сайта без перегрузки всей страницы
  • и многое многое другое

Но нас интересуют скрипты, которые пишутся под программу XWeb Human Emulator, так как эти скрипты позволяют автоматизировать действия человека в интернете,
со всеми вытекающими отсюда последствиями.

Итак, скрипты Human Emulator это по сути PHP скрипты, которые используют встроенные в Human Emulator библиотеки.
Эти библиотеки и позволяют выполнять задачи по автоматизации действий пользователя во встроенном в программу браузере. Задачи могут быть самые разнообразные:
регистрация и проверка аккаунтов; cбор, сравнение, хранение и отправка данных; проверка работоспособности сайта;
тестирование защиты сайта; поиск и наполнение сайта контентом.

В принципе всё что может делать человек в браузере можно автоматизировать с помощью скриптов XHE, которые будут выполнять эти же действия.

Скрипты запускаются на выполнение непосредственно в программе XHE и все действия производятся во встроенном браузере.

Пример простейшего скрипта:

Автоматическая регистрация с помощью Human Emulator

Авторегистрация — регистрация, которая выполняется в автоматическом режиме. Регистрация это один из основных механизмов работы интернета.
Будь то социальная сеть, форум, доска объявлений, сайт знакомств, сайт госуслуг, файлообменник, электронный почтовый ящик и т.д., везде требуется регистрация. Каждый рядовой пользователь интернета хотя бы раз, но сталкивался с необходимостью регистрации. Если же Вы занимаетесь интернет-бизнесом или продвижением своего бизнеса в интернете, то количество регистраций проделываемых Вами может переваливать за тысячи.
Всё это в итоге занимает огромное количество времени, которое можно было бы потратить с большей пользой. Вот тут и приходит на помощь авторегистрация.

В интернете существует множество различных инструментов, которые делают авторегистрации на определённых ресурсах. Нужна авторегистрация почтовых ящиков,
пожалуйста регистратор почтовых аккаунтов яндекс или mail.ru или рамблер. Нужна авторегистрация в каталогах — вот вам софт для прогона по каталогам.
Интересует авторегистрация на форумах, вот вам программа для регистрации на форумах.
Вам требуется авторегистрация в социальных сетях — есть программы для авторегистрации вконтакте, твиттере, инстаграме, фейсбуке, однаклассниках.
Если перед Вами стоит одна из перечисленных задач, то нет проблем, нашли нужный софт и пользуетесь. А если несколько или все сразу?!
В итоге Вам приходится пользоваться большим количеством различного софта, который ни как не взаимодействует друг с другом.
Тут и приходит на помощь Human Emulator.

Программа Human Emulator это не просто универсальный авторегистратор, который позволит Вам автоматически регистрироваться на любом сайте или сервисе в интернете.
C Human Emulator Вы можете использовать любые прокси или соксы, менять настройки браузера, подключать сервисы распознавания капч, эмулировать действия пользователя при переходе на форму регистрации и при вводе данных в поля, авторегистрироваться в сложных формах регистрации, где используется java-скрипты и ajax, запускать авторегистрацию по расписанию. Хуман эмулятор это программный комплекс, который позволяет создавать решения для автоматизации полного цикла. Это значит, что с помощью Хумана Вы можете не просто выполнять автоматическую регистрацию, но и решать другие задачи в автоматическом режиме, для которых Вам потребовалась регистрироваться на сайтах или сервисах.

Ниже представлены готовые решения по авторегистрации, которые есть у нас на сайте:

авторегистрация аккаунтов

авторегистрация в почтовых сервисах

авторегистрация в социальных сетях

авторегистрация в поисковых системах

все готовые решения по автоматизации

 

Сбор (парсинг) и анализ данных с помощью Human Emulator.

Очень много людей занимающихся различной деятельностью в интернете ежедневно сталкиваются с необходимостью сбора и анализа данных с всевозможных интернет-ресурсов. Источниками сбора могут быть магазины, доски объявлений, биржи, сайты, группы в социальных сетях, блоги, новостные ленты, поисковые машины, каталоги и т.д.
Каждый день собираются и обрабатываются миллионы гигабайт различной информации. Над этим трудятся десятки тысяч людей, тратя на сбор и обработку данных миллионы долларов и тысячи трудочасов. Существуют тысячи различных инструментов для сбора и анализа информации из сети, баз данных и файлов.

Использование автоматизации сбора и анализа данных сэкономит Вам время и деньги.

Одним из средств автоматизации сбора(парсинга) и анализа информации из сети является программа Human Emulator.
В отличии от других программ для сбора(парсинга) данных Human Emulator ни чем Вас не ограничивает. Помимо возможности создавать новые решения на основе встроенного в программу функционала, Вы можете использовать уже готовые наработки написанные на php или C#. Широкий функционал программы плюс возможность использовать решения написанные на php или C# позволяют решать задачи любой сложности и создавать не просто парсеры(сборщики) или обработчики-анализаторы, но целые системы полного цикла, которые на выходе будут давать конечный результат: публикация собранных и обработанных материалов в магазинах или на сайтах, в группах социальных сетей, на доски объявлений, в каталогах и т.д.

Human Emulator работает с базами данных, с файлами различных форматов(csv, xml, txt и т.д.), с сайтами, сделанными, как на оcнове популярных cms, таких как joomla, worpress, так и с простыми сайтами написанными на php или html. При необходимости Вы можете выполнить авторегистрацию на источнике сбора, использовать прокси или соксы.

Вот примеры готовых решений по сбору(парсингу), которые Вы можете найти у нас на сайте:

сбор из маркета

ключевые слова

работа с сайтами

сбор прокси

сбор выдачи

сбор email адресов

сбор финансовой информации

остальные скрипты

Создание скриптов автоматизации в Human Emulator своими руками.


Многих пользователей программы и тех, кто только собирается её приобрести интересует вопрос — Как сложно писать скрипты автоматизации
для Human Emulator самостоятельно
. При всей видимой сложности этот процесс достаточно прост. Главное уметь пользовать основным
инструментом создания скриптов — контекстным меню. Именно с помощью него и создаются скрипты.

Итак, давай те приступим к созданию скрипта. Для это первым делом нам нужно создать новый скрипт. Для этого открываем
в основном меню программы Файл закладку Новый и выбираем тип нового скрипта. На данный момент существуют три типа.
Каждый тип зависит от используемого языка. Сейчас это PHP, C# и Java Script. Мы создадим PHP скрипт.

Для этого кликнем на пункт меню «PHP скрипт».

Создать новый PHP скрипт

Создать новый PHP скрипт

Мы видим как в редакторе скриптов открылась новая закладка со скриптом. Скрипт этот по умолчанию создаются в папке «MyScripts»,
которая лежит в папке с программой.

Путь к только что созданному скрипту

Путь к только что созданному скрипту

Скрипт выглядит очень просто это переход в браузере на страницу google.com и если нажать на запуск скрипта,
то в окне встроенного в Human Emulator браузера откроется поисковик Google.

Запустить скрипт Human Emulator на выполнение

Запустить скрипт Human Emulator на выполнение

Таким образом, мы создали простейший скрипт автоматизации, который переходит на сайт google.com.

Теперь давайте введём в поле поиска интересующую нас фразу и нажмём кнопку “Поиск”. Естественно, для создания скриптов
автоматизации Вам необходимо понимать, где на странице поле ввода, а где кнопка, как выглядит ссылка.
Но этими знаниями должен обладать любой, кто пользуется браузером.

Итак, давай те введём в поисковик Google фразу «Скрипты для Human Emulator».
И вот тут в дело вступает, то самое контекстное меню, о котором я говорил раньше.
Для его появления кликнем на поле ввода правой кнопкой мыши.

Перед нами открывается такое контекстное меню.

Контекстное меню Human Emulator

Контекстное меню Human Emulator

Давай те более внимательное его разберём.

Верхняя часть меню это практически стандартные функции браузера.

Контекстное меню Human Emulator. Верхняя часть.

Контекстное меню Human Emulator. Верхняя часть.

Тут только два пункта меню представляют функционал Human Emulator это «Посмотреть в инспекторе элементов» и «Посмотреть в дереве элементов».
Но по этим пунктам мы говорим отдельно. Сейчас же нас больше интересует нижняя часть меню, которая даёт нам возможность работать с полем ввода.

Контекстное меню Human Emulator. Нижняя часть.

Контекстное меню Human Emulator. Нижняя часть.

Как не трудно заметить, то все действия, которые мы можем сделать с полем ввода описаны в отдельный раздел —
щёлкнуть, послать событие, задать фокус, изменить элемент и т.д. при выборе нужного раздела,
выпадает список, как именно мы хотим щёлкнуть или изменить элемент.

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

Выбирем в разделе «Изменить элемент» пункт «$input->set_value_by_name(«q»,»»);» — то есть задать текст поля по его имени.
Тут надо заметить, что на странице может быть несколько полей, а нам необходимо точно задать то поле, в которое нужно ввести наш текст.
С полем можно работать по его номеру, по его имени, по id или любому другому атрибуту.

Контекстное меню Human Emulator для работы с полем ввода.

Контекстное меню Human Emulator для работы с полем ввода.

В нашем случае мы выбрали имя поля. После нажатия на нужный пункт в скрипт добавилась строка $input->set_value_by_name(«q»,»»);

Добавим текст, который надо ввести в поле. Для этого в скрипте добавим текст фразы и запустим скрипт. Получим следующий результат.

Автоматический ввод текста в поле поиска Google.

Автоматический ввод текста в поле поиска Google.

Теперь делаем всё аналогично и для кнопки. Нажимаем на ней правой кнопкой мыши и в появившимся контекстном
меню выбираем нужное действие «Щёлкнуть->$button->click_by_name(«btnK»);».

Контекстное меню Human Emulator для работы с кнопкой.

Контекстное меню Human Emulator для работы с кнопкой.

Запускаем скрипт на выполнение получаем следующий результат.

Автоматическое нажатие на кнопку поиска Google.

Автоматическое нажатие на кнопку поиска Google.

Таким образом, через контекстное меню мы можем работать с любым элементом страницы.
Полем ввода, кнопкой или ссылкой. В том числе и с самим браузером.
Для этого кликнем правой кнопкой мыши на закладку «Главная» в нижней части окна браузера и увидим аналогичное контекстное меню со списком действий,
которое мы можем выполнить со страницей целиком($webpage),
с браузером ($browser)
или с самой программой($app).

Контекстное меню Human Emulator для работы с браузером.

Контекстное меню Human Emulator для работы с браузером.

В общем-то, суть проста — если мы хотим, что-либо сделать с любым элементом страницы, мы просто кликнем на нём правой кнопкой и выбираем нужное нам действие.

Поведенческие факторы.

Поведенческие факторы ранжирования.

SEO специалисту любого уровня известно что такое поведенческий фактор или, если быть точнее, поведенческий фактор ранжирования,
так как поведенческие факторы очень важны и, с некоторых пор, это один из основных параметров оценки сайта для определения его места в поисковой выдаче.

Для не искушённого в поисковой оптимизации читателя попробуем изложить суть простыми словами.
Поведенческий фактор это то, как себя ведёт пользователя на вашем сайте. Если он зашёл и сразу вышел, то это плохо и это называется отказом.
Если же посетитель зашёл и задержался на вашем сайте, то это хорошо. Причём, чем дольше посетитель находиться на сайте и чем больше он выполняет на нём различных действий,
тем лучше для вас. Поисковые системы оценивают это всё и делают вывод, насколько интересен ваш сайт пользователям.
Всё просто — чем интереснее сайт для посетителей, по мнению поисковиков, тем он выше в поисковой выдаче, а чем выше ваш сайт в поисковой выдаче, тем больше людей на него зайдут.

Поведенческие факторы сайта.

На что же смотрят поисковые системы? Это совокупность различных действий посетителей на вашем сайте.
На какую страницу пользователь попал при заходе на ваш сайт. Сколько он пробыл на странице.
Куда пошёл после страницы входа. Сколько времени был на отдельной странице.
Сколько времени был всего на сайте. Сколько страниц в итоге посетил, куда кликал, через какую страницу вышел,
вернулся ли он снова на ваш сайт или ушёл искать дальше, так как не смог найти, то, что ему нужно на вашем сайте.
По факту не так много параметров, но поисковые машины отдают предпочтения тем сайтам, на которых люди выполняют
большее количество указанных действий и находятся более продолжительное время.

Как улучшить поведенческие факторы?

Отсюда истекает вопрос — как повысить поведенческие факторы и что на них влияет? Как задержать посетителя на вашем сайте?
Как это не тривиально но, для того что бы пользователь дольше оставался на вашем сайте нужен уникальный контент и интуитивно понятная структура сайта.
Больше качественных и полезных статей на вашем сайте и хорошая навигация между ними вот основные критерии для улучшения поведенческого фактора на вашем сайте.
Это, собственно говоря, и есть продвижение поведенческими факторами. Конечно, есть своя специфика для каждого отдельного интернет ресурса.
И то, что может быть хорошо для одного сайта, может не сработать на другом. Для этого существует анализ поведенческого фактора сайта,
с помощью которого можно определить, как должен вести себя пользователь на том или ином сайте.
Проложить маршруты следования к так называемым целевым страницам, на которых вы продаёте товар или рекламируете свои услуги.
Для анализа и оценки поведенческого фактора сайта существуют различные инструменты и сервисы.
Но самым распространённым и доступным инструментом являются сервисы статистики самих поисковых систем такие как Яндекс.Метрика и Google Analytics,
которые должны быть подключены к вашему сайту. Эти системы дают веб мастеру полную картину того что происходит с сайтом и на сайте.
С помощью такого инструмента как вебвизор в Яндекс.Метрики вы можете посмотреть в записи все действия ваших посетителей.
А «Карта ссылок» и «Карта кликов», в той же Метрике, дают вам понять, по каким маршрутами на вашем сайте следуют посетители.

Накрутка поведенческих факторов.

Как и везде, где есть возможность «похимичить» для получения выгоды находятся и те, кто пытается накрутить поведенческий фактор ранжирования сайта.
Как накручиваются поведенческие факторы?
Смысл тут довольно простой — используя различные системы интернет автоматизации, реализуется необходимый алгоритм эмуляции действий пользователя
на сайте с использованием доступных средств анонимности.
Но, не смотря на то, что звучит это очень просто реализовать такие алгоритмы довольно тяжело.
Нужно учитывать огромное количество различных инструментов, через которые поисковые машины получают данные о Вас.
Для этого вам нужно знать, что именно и как смотрят поисковые машины. Одних прокси или соксов для вашей анонимности будет не достаточно.
Так же вам нужно учитывать динамику развития вашего сайта и то, как себя на нём ведут пользователи.
Если вдруг на ваш сайт начали заходить несколько тысяч пользователей, хотя вчера ещё с трудом набиралась сотня,
и просматривают по два часа страницу с маленьким текстом, либо бесцельно кликают на всё подряд, то есть большой шанс угодить в бан за накрутку поведенческих факторов.
Поэтому, как правило, накрутка поведенческих факторов сайта заканчивается для таких «химиков» санкциями за поведенческие факторы со стороны поисковых машин
и сайт улетает в бан на несколько месяцев, а то и более. Заказывая поисковое продвижение многие клиенты не интересуются каким способом будут продвигать их сайт.
Им интересен результат, а недобросовестные продвигатели, стремясь получить больше денег здесь и сейчас, используют накрутку поведенческих факторов для получения быстрого результата.
В итоге, отдав кучу денег, владелец сайта вместо продвижения получает забаненный на длительное время сайт.
В итоге вам придётся выложить ещё и хорошую сумму за исправление последствий такого продвижения.
Поэтому будьте очень внимательны при заказе продвижения. Тут надо сказать и об обратной стороне медали.
Вы можете столкнуться с такой ситуацией, когда ваши конкуренты могут использовать накрутку поведенческого фактора на вашем сайте для того, что бы он угодил в бан.

Скрипты на C# в Human Emulator

Достаточно давно в Human Emulator реализована возможность писать скрипты, используя язык программирования C#.
Но, к сожалению, это возможность очень слабо раскрыта в интернете. Информации с примерами практически нету. Всё что есть это простые примеры использования всех функций на
humanemulator.net, который является официальным мануалам к программе Human Emulator.
Поэтому мы решили начать публикацию цикла статей про использование C# в скриптах Human Emulator.
Для нас этот момент интересен тем, что при использовании C# можно создавать скрипты в виде отдельных программ, которые будут управлять Хуманом и при этом иметь свой собственный интерфейс и получать результаты такой работы непосредственно в программу. Итак, давай те разбираться.

Какие плюсы от использования C#?
Вам будет доступен весь набор инструментов .NET Framework. А так же как я писал выше возможность создавать скрипты в виде полноценных приложений с собственным интерфейсом и возможностью полноценно работать с результатами работы этих приложений. Надо отметить, что и раньше можно было создавать C# приложения для работы с Human Emulator, но тогда приходилось внутрь программы написанной на C# помещать скрипты php и их запускать в Хумане. Результаты работы таких скриптов помещать в текстовые файлы и уже с этими файлами работать из C#.
По такому принципу был написан нами Парсер Авито Недвижимость.В остальном всё зависит от вашего уровня знаний С# или PHP.

Как это работает? Пишем скрипт в Хумане либо в любой другой IDE, в которой можно писать код на C#.
Если мы работаем через Хуман, тогда у нас по кнопке запуска скрипта будет создаваться .exe файл и .bat, который его запускает.
Если же мы писали код в стороннем IDE, то мы запускаем .exe файл, который у нас получился после компиляции написанного нами скрипта,
перед этим не забыв запустить Human Emulator или прописать код запуска в самом скрипте.

Для работы с C# в Хуман Эмулятор были добавлены классы со всеми его объектами, аналогично тому, как это сделано в php. Все эти классы вынесены в отдельную dll библиотеку. О ней мы поговорим ниже.
Именно появление этой библиотеки дало возможно работать с Human Emulator напрямую при создании C# приложений, заточенных под Хуман Эмулятор.

Где взять примеры? Как я уже писал выше примеры есть на сайте humanemulator.net.
В описании всех функций всех объектов Human Emulator, теперь входят два примера один на PHP, второй на C#. Все эти примеры есть в Хумане.
С помощью этих примеров разработчики тестировали работу всех функций и объектов. Для того что бы они у вас были примеры написанные на C# при установке вы должны поставить галочку C# samples and tests of scripts. После чего в панели Быстрый Старт появляется папка Простые Примеры C#. В этой папке содержаться все тестовые скрипты на функции Human Emulator для всех его объектов.

Давайте рассмотрим пример самого распространённого действия — навигация в браузере. Примере находится Просты Примеры C#/Web/browser/navigate.cs.

Сам скрипт:

Как мы видем в скрипт включены все необходимые для работы библиотеки.

IP и порт, на которых работает Хуман указанны в переменной

.
Вызов функции

инициализирует все объекты Хумана для дальнейшего их использования.
Далее мы просто работаем с необходимыми нам объектами, так же как это делается и в PHP скрипте.

Теперь давайте напишем простой пример в Visual Studio 2015. Пусть это будет простой диалог с полем ввода URL и кнопкой, по нажатию на которую в human emulator-е будет открываться страница, указанная в текстовом поле.

Для этого создаём новый проект C# Приложение Windows Forms. Добавляем в диалог текстовое поле и кнопку.
Компилируем, что бы получить .exe файл. Для того что бы использовать объекты Human Emulator в нашем проекте нам нужно подключить XHE.dll.
Сама dll-ка вместе с исходниками лежит в папке «Путь к папке с Human Emulator-м/Templates CSHARP/Lib/XHE/»,
поэтому вы всегда можете её доработать и добавить туда свой код. Копируем в папку с нашим *.exe XHE.dll из
«Путь к папке с Human Emulator-м/Templates CSHARP/Lib/XHE/XHE/bin/Release/» и подключаем её к нашему проекту.
Для этого в Обозревателе решения в нашем проекте находим папку Ссылки. Щёлкаем правой кнопкой мыши на этой папке.
Нажимаем Добавить ссылку… в открывшемся контекстном меню. Используя кнопку Обзор… внизу открывшегося диалога, добавляем XHE.dll в проект.
Теперь мы можем видеть объекты Хуман Эмулятора в нашем проекте. Для того что бы инициализировать объекты добавляем код :

и

в файл Program.cs.

Теперь он будет выглядеть так:

Всё теперь мы можем полноценно работать с объектами Хумана в своём проекте. Добавим код перехода по ссылке в обработчик события кнопки следующим образом:

По нажатию на заданную кнопку в Хумане открытом на порту 7010 осуществляется переход по заданной в текстовом поле ссылке.


результат работы нашего диалога в Human Emulator

результат работы нашего диалога в Human Emulator


Возможность писать скрипты на C# для Human Emulator открывает больше возможностей при использовании этого инструмента.
Теперь можно писать не просто скрипты, а полноценные программы со своими системами защиты и выводом полученных результатов в удобный интерфейс,
с возможностью дальнейшей работы с ними, например, построение графиков, возможность делать выборки, экспорт/импорт данных в удобный формат и т.д..

Скачать код примера C# для Visual Studio 2015

Автоматическая подача объявлений на доски на основе Human Emulator

Предположим, что у Вас агентство недвижимости или скажем стоянка автомашин и Вам необходимо работать постоянно с десятками или сотнями объявлений на разных досках,
начиная от самых простых и заканчивая самыми популярными, такими например как Авито (Avito.ru).
Перед нами стоит задача автоматизировать весь цикл работы с этими объявлениями — подача объявлений на заданные доски, удаление или редактирование
уже опубликованных объявлений. Всё это очень просто сделать при помощи программы Human Emulator.

Допустим, что у Вас есть несколько человек работающих с объявлениями. Первое что нужно будет сделать, это организовать общую базу данных,
в которую эти объявления будут собираться. Там же будут отображаться все изменения и ставится метки куда и когда какие объявления публиковать,
удалять или изменять. Для того что бы создать такую базу и наладить работу Хумана с ней нам понадобится сервер или отдельный компьютер с хорошим интернетом,
на котором будет установлен Human Emulator и база данных. База данных как правило MySql, но можно работать и с другими типами баз данных.
Для того что бы эти объявления попадали в базу можно написать скрипт на Хумане и каждому работнику на компьютере установить Хуман, который
будет по расписанию отправлять все объявления или их изменения в базу. При этом объявления должны лежать в заданной папке и быть в одинаковом формате.

С компьютеров в базу данных

С компьютеров в базу данных

Либо сделать простую страницу в интернете для сабмита этих объявлений в базу через сайт.

Через сайт в базу данных

Через сайт в базу данных

Во втором случае нам понадобится тогда ещё хостинг и сам сайт,
через который мы и будем отправлять объявления в базу данных. Обычно для таких действий объявления содержаться в формате csv или xml,
но можно организовать работу и с другими типами файлов.

Данные по объявлениям должны содержать помимо основных данных самого объявления, так же время и дату публикации, флаг на какую доску публиковать или удалять,
уникальный ключ по которому эти объявления можно будет найти на досках и внести в них изменения, удалить или обновить. Ключём этим может служить название объявления,
адрес объекта или любая другая уникальная информация из объявления. Фотографии прописывают в базе виде названий,
а сами они заливаются скриптом в определённую папку на сервере или хостинге. Откуда потом скачиваются и публикуются на доски объявлений вместе с другими данными объявления.

После того как работа с базой налажена мы пишем скрипты, которые будут работать непосредственно с досками объявлений. Принцип работы этих скриптов прост — скрипт,
обращаясь к базе данных, находит по флагам нужное объявление и выполняет необходимые действия.
Можно написать один большой скрипт,который будет выполнять все действия, но лучше создать под каждую задачу и под каждую доску объявлений свой скрипт.
В таком случае работа системы получается более гибкой и более надёжной, так как при возникновении каких либо сбоев будет прекращаться только выполнение текущей задачи.
Все скрипты будут работать по расписанию и могут работать в многопоточном режиме.

Публикация объявлений из базы данных на доски объявлений

Публикация объявлений из базы данных на доски объявлений

Многие доски пытаются бороться с автоматической подачей объявлений и вводят различные ограничения на количество объявлений с одного IP, на время между публикациями объявлений и т.д.
Human Emulator можно настроить так, что он будет публиковать объявления через разные промежутки времени с разных IP и выполнять все действия в браузере аналогично тому как это делает
человек. Если на интересующей Вас доске нет ни каких ограничений программа может подавить объявления без каких либо задержек и дополнительных переходов,
при этом скорость подачи объявлений будет ограничена лишь скоростью работы самого сайта. Если на доске объявлений предусмотрена подача сразу
большого числа объявлений с помощью файлов в специальном формате, Human Emulator будет собирать эти файлы и отправлять на доску.

Для полноценной работы системы работы с объявлениями необходимо предусмотреть разработку следующих скриптов:

  • 1. Cкрипт-автопубликатор объявлений на доски. Скрипт запускается, берет нужные объявления из БД, авторизируется на доске и публикует эти объявления
    в соответствующую категорию. Примерная стоимость разработки такого скрипта у наших специалистов будет в районе 100-150$. При возникновении необходимости публикации объявлений в разные категории на
    одной доске стоимость решения может быть увеличена в зависимости от трудозатрат.
  • 2. Cкрипт-запуска автопубликатора объявлений. Суть следующая: данный скрипт с определенной периодичностью проверяет БД на наличие
    объявлений готовых для публикации на доску (событием «готовности» объявления для публикации может служить или появление новой записи с данным объявлением в БД
    или подошедшее время старта публикации скрипта на доску выставленное в отдельном поле в БД). При отсутствии объявлений готовых для публикации — скрипт уходит на следующий круг.
    При наличии объявления готового к публикации — скрипт запускает скрипт-автопубликатор передавая ему ID необходимой записи в БД.
    Стоимость такого скрипта у нас также находится в пределах 100-150$.
  • 3. Cкрипт-обновления объявлений, суть работы которого сводится к следующему: авторизация на доске и поднятие объявлений
    в своем аккаунте или определенных объявлений переданных ему в своем аккаунте.
    Стоимость такого скрипта при заказе его у нас будет в пределах 75-100$ в зависимости от сложности доски.
  • 4. Cкрипт-запуска обновления объявлений. Суть его работы следующая: он крутится в бесконечном цикле с определенной периодичностью проверяя БД на наличие объявлений,
    которые ранее были размещены на доске и которые сейчас необходимо поднимать. При наличии последних он запускает скрипт-обновления передавая ему в качестве параметра
    ID объявления для поднятия. Стоимость такого решения у нас будет стоить в пределах 75-100$.

Для контроля за работой системы Вам понадобится всего один сотрудник. Он будет мониторить как работает система, не возникнет ли каких то ошибок при работе с объявлениями на какой либо из досок в связи с какими то изменениями на самой доске. При этом все скрипты ведут подробный лог своих действий и в случае каких то проблем могут отправлять письма, сообщать в скайп или оповещать Вас иным удобным для Вас способом.
При заказе разработке такой системы у нас мы помогаем Вам подготовить такого сотрудника. Так же Вы можете заказать услугу мониторинга за системой у нас.

Примеры готовых скрипитов для работы с досками объявлений:

Работа с текстовым форматом обмена данных «JSON»

Очень часто при написании скриптов мы сталкиваемся с использованием формата JSON
и регулярно наши клиенты спрашивают как работать с JSON в скриптах
Human Emulator.

В связи с этим мы решили написать вводную статью на эту тему.

Работа с JSON в скриптах XHE полностью аналогична работе с JSON в PHP. Более подробно про
работу с JSON вы можете найти в разделе «литература».

JSON (JavaScript Object Notation) — текстовый формат обмена данных, основанный
на подмножестве JavaScript.

Как и многие другие текстовые форматы, JSON легко читается и пишется вручную людьми.

Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта
1999-го г.), формат считается языконезависимым и может использоваться практически
с любым языком программирования (в т.ч., PHP имеет встроенную поддержку JSON)
json php

За счёт своей лаконичности по сравнению с XML, формат JSON может быть более
подходящим для сериализации сложных структур.

Например, если говорить о веб-приложениях, то JSON уместен в задачах обмена данными
между браузером и сервером, а так же, между серверами.
Если говорить о десктопных приложениях, то JSON можно использовать для хранения
конфигурационных файлов программы.

JSON — текст представляет собой (в закодированном виде) одну из двух структур:
* Набор пар «ключ: значение». В PHP это реализовано как ассоциативный массив (array).
Ключом может быть строка, а значением — любой поддерживаемый тип.

Упорядоченный набор значений. В PHP это реализовано как простой массив (array).

Базовые типы JSON:

* «Число» — десятичное число (не делает никакого различия между целыми и числами
с плавающей точкой). Не поддерживается NaN (не-число, Not A Number).

* «Строка» — упорядоченное множество из нуля или более символов юникода, заключённое в
двойные кавычки.

* «Булев» (boolean) — значения либо true, либо false.

* «Массив» — упорядоченнное множество значений, каждое из которых может быть
любого поддерживаемого типа. Массив заключается в квадратные скобки «[]».
Значения разделяются запятыми.

* «Объект» — неупорядоченное множество пар «ключ: значение», заключённое в фигурные
скобки «{}». «Ключ» описывается «строкой», между ним и значением стоит символ «:».
Пары «ключ-значение» отделяются друг от друга запятыми.

* «null» — пустое значение означающее «ничего».

JSON не поддерживает и не разрешает любой вид комментариев, но комментарии
можно эмулировать, например, создав объект с ключом «comment» и в
значении вписать комментарий.

Следующий пример показывает JSON-представление объекта, описывающего человека.
В объекте есть строковые поля имени и фамилии, объект, описывающий адрес,
и массив, содержащий список телефонов:

Предположим, у нас стоит задача вытянуть какие-то данные из веб-сайта и
сохранить их в виде JSON. Для примера, спарсим данные компаний занимающихся
фрахтовкой яхт с сайта yellowpagesrussia.ru
(только первую страницу).

Наш JSON будет следующего формата:

Алгоритм работы нашего скрипта будет такой:

1. открываем страницу сайта

2. получаем информацию со страницы (строку)

3. сконвертируем (используя разделитель «\r\n \r\n») полученную строку в массив строк

4. создадим пустой массив, в который будем добавлять массивы с подготовленной информацией.
Затем этот массив будем энкодить в json-строку.

5. в цикле пройдёмся по всем эл-ам массива (который получили в 3-м пункте).

На каждой итерации цикла будем:

5.1. подготавливаем подмассив с нужной информацией (для добавления (но не добавляем) его в массив созданный в 4-м пунке).

5.2. проверяем существует ли файл result.json.

5.2.1. если существует, то считываем его и пытаемся декодировать из json-строки в массив.

5.2.2. если декодировать неудалось, то сохраняем его (на всякий случай) и вместо него создаём новый (пустой, естественно).

5.2.3. если декодировать удалось, то просто добавляем к массиву (п. 4) наш подмассив (п. 5.1).

5.3. энкодим наш, теперь уже, заполненный массив (из п. 4) в json-строку.

5.4. записываем в файл нашу json-строку.

После декодинга из json-строки в массив — кодировка строковых данных — «UTF-8».
Если внутри php-файла кодировка другая, то нужно использовать функцию iconv для перекодировки.

Перед энкодингом массива в json-строку все строковые ел-ты массива нужно перекодировать в
кодировку «UTF-8».

PHP функции json_encode(), json_decode() гарантируют сохранность данных только при использовании
кодировки «UTF-8».

Примеры из скрипта:

Здесь мы формируем ассоциативный массив и все строковые эл-ты перекодируем в UTF-8:

Подготовка для энкодинга (добавляем в существующий массив подготовленную информацию):

Энкодим массив в json-строку:

Подробнее о константах для функции json_encode см. здесь json.constants

Записываем полученную строку в файл:

Всё, мы закодировали наш массив в json-строку, которую затем записали в файл.
Теперь, чтобы его декодировтаь нужно:
Считать файл:

Декодировать из json-строки в массив.
Если у нас был валидный json-файл, то будет возвращён массив, иначе возвращается булев тип false.
Второй эл-нт указывает ф-ции, что декодировать нужно в массив, а не в PHP-объект:


Исходники скриптов


Использованная литература и источники:

Википедия

Wikipedia

json.org

php.net

habrahabr.ru

Скрипты написаны в XHE 4.6.45 MT.

скачать скрипт