пятница, 20 декабря 2013 г.

Сборщик слов с Google.KeywordPlanner

В предыдущей статье я создал сборщик поисковых фраз с Yandex.Wordstat. Для  этого я использовал Human Emulator. Сегодня я создам сборщик ключевых слов, который будет получать информацию с Google Keyword Planner. Этот инструмент доступен для создания Adword-овых компаний и доступ к нему есть, если есть Adword аккаунт. Инструмент очень мощный, Гугл постарались на славу, однако довольно неплохо защищен от автоматического парсинга контента и достаточно тяжеловесен.  Но все же если очень захотеть то все можно сделать. Вот что у меня получилось :
скриншот сбора ключевых слов с Google Keyword Planner через Human Emulator

Для того чтобы создать этот сборщик, я создал класс CGoogleKeywordPlanner, производный от CBaseWebAPI (как и у всех предыдущих сборщиков) который представляет особенности самого сбора и прописал в нем как заходить, логиниться, собирать и сохранять слова . Кроме того в классе CInDataFile, который используется для получения запросов из файла-источника я добавил переменную $items_step, которая указывает сколько слов за раз нужно выдавать из этого источника. Вот в принципе и вся работа. Немного пошаманив с тем как правильнее добратся до нужных элементов и как организовать процесс сбора я пришел к следующему алгоритму:
  • Заходим в адворды, при этом логинемся если это необходимо.
  • Далее переходим на инструмент - оценки объема поиска.
  •  Создаем файл с 800 слов, которые загружаем в инструмент.
  •  После этого переходим на закладку и идеи ключевых слов и качаем полученные файлы по кнопке Download.
  •  Далее полученный файл добавляем к файлам результатов
  •  Переходим к следующему шагу
В результате имеем сборщик ключевых слов, попутно собирающий еще среднее число запросов в месяц а также цены в Гугл Адворд по заданным словам. Эта очень полезная информация. На основе нее можно много чего сделать интересного. Например подобрать тематику для сайта и бизнеса. Подобрать рекламные слова для своей компании в Адвордах или Директе, а также различные другие задачи для которых нужны списки ключевых слов с ценами и популярностью.
скриншот результатат сбора данных с Google Keyword Planner через XWeb Human Emulator
Выводы : 
Таким образом получился более менее стабильный сборщик ключевых слов, популярностей и цен на них для Google Keyword Planer. За сутки может получить несколько сотен тысяч данных по поисковым запросом, особенно интересно среднее число поисков в месяц (популярность) и цена за слово в адвордах. Хочу подчеркнуть что в сборщике введены паузы для избежания бана, а также для его работы нужен логин с паролем для адвордов.  Также код сборщика основан на использовании Human Emulator в режиме эмуляции браузера.  Хочу еще подчеркнуть что информацию о том где взять поисковые запросы и ключевые слова можно найти здесь.
Материалы :
Как всегда весь исходный код по этой статье можно скачать здесь. Руководство «Как запустить этот и другие PHP скрипты с этого сайта» всегда можно найти здесь. Где взять платные и бесплатные прокси сервера, можно найти здесь. А где взять поисковые запросы и ключевые слова можно найти здесь. Пожелания и предложения по коду и сотрудничеству можно присылать на почту или в комментарии.

среда, 18 декабря 2013 г.

Сборщик слов с Яндекс.Вордстат

В прошлых статьях я сделал обзор функционала программы Human Emulator. В этой статье мы напишем сборщик, который будет собирать информацию с Яндекс.Вордстат в режиме эмуляции браузера. Для многих сайтов режим эмуляции браузера это практически единственный доступный вариант для их парсинга. За основу берем классы, из сборщиков поисковых подсказок. Потратив около трех дней на различные эксперименты (отлаживание устойчивости работы, подбор пауз, и вычисление всех моментов приводящих к бану) я получил рабочий код для сбора ключевых слов с Яндекса. Кроме того этот инструмент еще сохраняет число запросов в месяц по Яндексу, что очень помогает в составлении семантического ядра и оценки посещаемости сайта. Т.с одним махом мы получаем слова и данные по ним.
скриншот сбора поисковых подсказок с Яндекс.Вордстат на основе Human Emulator

Для того чтобы создать этот сборщик я добавил папку Templates из последней версии хуман эмулятора и подключил его к проекту. Далее создал класс CYandexWordstat, производный от CBaseWebAPI и слегка его переделал, чтобы базовый класс поддерживал много страничный сбор по одному запросу ( функция load_next_page и переделал функцию get под многостраничный сбор ). Сборщик ключевых слов работает следующим образом : для начала скрипт переходит на Yandex.Wordstat, далее логинимся в учетную запись Яндекса. После этого читаем и вводим текущий запрос из файла входных данных. Далее сохраняем полученные данные и если есть возможность нажимаем кнопку следующей страницы для сбора следующей порции подсказок по заданному запросу. И так пока не получим все страницы. Если в процессе работы выскакивает капча или диалог логина, то скрипт или становится на паузу или обрабатывает эту ситуацию. Также если происходят ошибки сервера и т.п вещи то скрипт это все отрабатывает. И в результате работы мы получаем следующие результаты :

скриншот результатов сбора ключевыхс слов с Yandex.Wordstat
Вывод :
В результате у нас получился стабильный сборщик поисковых запросов с Яндекса. В сутки такой сборщик проходит около 3000 запросов, что дает на выходе порядка нескольких сотен тысяч ключевых слов с оценкой запросов в месяц по Яндексу. Этого вполне достаточно например для начального составления семантического ядра сайта. Также мы увидели что использование Хуман Эмулятора в качестве эмулятора и автоматизатора браузера вполне подходит для решения задач сбора данных с интернета.
Материалы :
Как всегда весь исходный код по этой статье можно скачать здесь. Руководство «Как запустить этот и другие PHP скрипты с этого сайта» всегда можно найти здесь. Где взять платные и бесплатные прокси сервера, можно найти здесь. А где взять поисковые запросы и ключевые слова можно найти здесь. Пожелания и предложения по коду и сотрудничеству можно присылать на почту или в комментарии.

пятница, 13 декабря 2013 г.

Human Emulator и объекты для работы с окнами

В этой статье я рассмотрю последнюю категорию объектов Human Emulator'a, а затем перейду к созданию сборщиков использующих Хуман Эмулятор для сбора ключевых слов с различных веб источников. Итак категория PHP объектов WINDOW :
скриншот справки по категории Window для PHP объектов Human Emulator

Как видим здесь собраны объекты для управления окнами как HumanEmulator'a так и всей системы в целом. Условно можно их разбить на несколько подкатегорий:
Управление окнами и работой Human Emulator'a :
  • app – управление работой приложения. Этот объект позволяет управлять внешним видом самого приложения и содержит следующие возможности :
    • вызов различных диалогов-вопросов для ввода исходных данных в скрипт
    • диалоги ручного распознавания каптчи для ввода капчи в скрипт без использования сервисов распознания каптч
    • управление видимыми параметрами эмулятора (размер окна хумана, позиция, полноэкранный режим, управление треем и т.п)
    • управление ходом выполнения (команды паузы,выгрузки и рестарта )
    • получение внутренней информации (текущий порт, код инсталяции, версия, путь к скрипты и программе и т.п)
    • получение внешней информации (например получить файл с компьютера на котором работает хуман )
    • запуск и останов внешних программ (запуск bat файла,другого PHP скрипта, внешней программы, остановка процесса)
    • управление прогрессом в статус баре (для того чтобы видеть ход выполнения скрипта)
  • debug – управление отладкой скриптов. Объект для работы с панелью отладки и различными отладочными парметрами, содержит:
    • работу с отладочной панелью (работа с закладками их содержимым на отладочной панели)
    • текстовые нотификации (диалоговое окно и всплывающее уведомление - для сообщений о работе скрипта)
    • информация о памяти и ресурсах, занимаемых программой, а также функцию оптимизации памяти
    • вспомогательные функции (информация о путях к текущему скрипту и отладочные хуки)
Получение и установка информации системы :
  • windows – управление оболочкой Windows. Содержит функции получения и задания системной информации.
    • получение информации о Windows (имя, версия, билд, сервис пак, платформа)
    • получение информации о железе и компе (название процессора, имя пользователя и название компьютера)
    • получение параметров разрешения экрана
    • установку параметров разрешения экрана
Управление любыми внешними программами :
  • window – работа с окнами других приложений. Этот объект позволяет выполнять операции с другими программами, запущенными на том компе что и хуман:
    • получает информацию по всем открытым окнам в системе
    • получает информацию по всем дочерним окнам к данному окну
    • выполняет различные стандартные диалоги встроенного браузера (загрузка,выгрузка,ввод данных)
    • получает прямые интерфейсы к окнам с заданными параметрами
    • получает объект-список прямых к интерфейсов к окнам с заданными параметрами
  • windowinterface – прямой интерфейс к окну Windows. Данный объект по сути связь между пхп и реальным окнам в системе в которой запущен хуман эмулятор:
    • управление окном (задание текста,видимости, позиции, размеров и т.д)
    • получение других окон (получает интерфейсы и списки интерфейсов дочерних, родительских, следующих и предыдущих и т.д окон )
    • получение свойств окна (текст,номер, стиль, класс,процесс ID и т.д)
    • получение расположения и размеров окна
    • проверка состояния окна (существует, видимо, дочернее,с фокусом и т.д)
    • эмуляция мыши в окне (движение, щелчки, нажатия и отжатия и т.п.)
    • эмуляция клавиатуры в окне (ввод строк, нажатие и отжатие клавиш,смена языка ввода и т.п)
  • windowinterfaces – список прямых интерфейсов к окнам Windows. Позволяет выполнять операции сразу с несколькими окнами.
    • функции получения отдельных окон и работа с ним как с отдельным окном
    • позволяет вызвать весь функционал что есть для каждого окна за один раз, получив результат выполнения в массив
Выводы:
Таким образом на основании пяти предыдущих статей, опубликованных на x-datas.com  мы видим что Human Emulator - идеально подходит для задач сбора данных с интернета и позволяет в режиме эмуляции браузера ходить по страницам сайта и получать то что нам нужно с них.  Широкие возможности во всех смыслах позволяют нам сделать сборщики данных (и не только ) практически с любых интернет ресурсов. Чем мы и займемся в следующих статьях. Будем все также колупать тему сбора ключевых слов. Пока я писал эти статьи мне удалось отладить сборщик подсказок ключевых слов с Yandex.Wordstat. В следующей стаье я опубликую его сописанием и теми данными что успел собрать.

Human Emulator и объекты для работы с Интернетом

В этой статье я опишу какие возможности есть у Хуман Эмулятора для работы с Интернетом. За это отвечает категория PHP объектов, называемая WEB. Условно поделю их на несколько подкатегорий:
скриншот хелпа по категории WEB для XWeb Human Emulator

Объекты для работы с браузером и веб-страницей
  • browser – управление встроенным браузером. Это основной объект для эмуляции работы в браузере. Содержит массу возможностей:
    • навигация, проверка статуса статуса навигации
    • работа с закладками (в каждой закладке - свой браузер)
    • получение и установка системных параметров (модель браузера, его версия, юзер агент, а также папки куков и кэша)
    • получение и установка визуальных параметров (размер браузера и страницы, позиции скролов)
    • получение и установка контентных параметров (наличие картинок, видео,фреймов,java,java scripts и т.д)
    • работа с JS (включать и выключать, выполнять встроенные и произвольные JS скрипты)
    • работа с прокси серверами (задать прокси, снять прокси и получить текущий прокси)
    • работа с кукисами (установка и получение )
    • работа с popup страницами
    • работа с сообщениями браузера
    • работа с окнами авторизации браузера
    • работа с диалогом загрузки и выгрузки файлов
    • работа с акцептами и реферерами
    • выполнение встроенных команд браузера (сохранение страницы, печать страницы, смена масштаба и т.п ...)
    • выполнение POST и GET запросов
    • проверки статуса соединения
  • webpage – работа с текущей веб страницей. Этот объект нужен для обработки и получения содержимого веб страницы. Позволяет делать следующее:
    • работать с телом страницы (позволяет получать разные части страницы а также заменять страницы в браузере)
    • получать информацию по текущей веб-странице (кодировку, активный элемент,урл,домен, исходник и т.п)
    • также содержит много других полезных функций (сохранение страницы , скриншот страницы , поиск координат по рисунку и многое другое)
Как видно эти два объекты уже сами по себе достаточно мощные средства управления браузера. Но есть еще и другие, следующая подкатегория объектов это объекты доступа к сервисами распознавания капч.
Объекты для доступа к сервисам распознавания капч:
  • anticaptcha – распознование капчи используя сервис AntiGate.com
  • ripcaptcha – распознование капчи используя сервис RipCaptcha.com
  • evecaptcha – распознование рекапчи используя сервис Eve.cm
  • bypasscaptcha – распознование капчи используя сервис bypasscaptcha
  • captchabot – распознование капчи используя сервис captchabot.com
Как видно из названий добавить тут нечего, разве что каждый объект отвечает за свой сервис, на входе передается картинка каптчи и ключ сервиса, а на выходе имеем результат распознания каптчи или людьми или в полуавтоматическом режиме. За каждое такое распознание с нас взимается небольшая сумма денег, обычно 2-3 бакса за 1000 каптч. Хочу отметить только работу сервиса антигейт, на мой взгляд - лучший сервис из всех, хотя бывает загружен, и тогда лучше использовать их все вместе.
Объекты для работы с заданными протоколами и сервисами Интернета:
  • connection – управлением соединением с интернетом. Объект позволяет следующее:
    • получение параметров текущего соединения (модем, сеть, есть инет или нет и т.д)
    • получение локального и реального ай-пи адреса
    • работа с Ethernet (запускать и отключать заданные сетевые соединения)
    • работу с RAS (управление модемными соединениями - логин, перезапуск)
  • ftp – работа с фтп. Позволяет работать с фтп соединением и может следующее :
    • подсоединятся и отсоединяться от фтп
    • работать с фтп папками
    • работать с фтп файлами
    • другие полезные фтп команды
  • mail – работа с почтой. Данный объект работает с POP3 и SMTP соединениями, и может следующее
    • соединятся по POP3 и SMTP
    • управлять параметрами POP3 и SMTP соединений
    • получать количество писем на сервере и получать эти письма по POP3
    • по POP3 получать различную информацию о письме с сервера, не удаляя само письмо (дата, тема, от кого, размер и т.п.)
    • отсылать сообщения по SMTP в текстовом и HTML видах
  • proxycheker – управление прокси - чекером. Этот объект служит для  проверки работоспособности прокси серверов и может делать следующее :
    • работа со списком прокси (добавление, добавление из файла, убирание дубликатов и редактирование)
    • получение информации по списку прокси и других различных характеристик по каждому из прокси адресов
    • собственно управление самим процессом тестирования (запуск, останов, задание качества и скорости тестирования)
  • raw – управление raw потоками браузера. Этот объект служит для получения информации об обмене браузера с сервером и может следующее
    • включать и выключать слежение за различными типами протоколов
    • получать последнюю запрошенную информацию браузером (урлы и заголовки)
    • получать последнюю отвеченную сервером информацию (урлы и содержимое)
    • очищать последнюю информацию
    • вмешиваться в процесс запроса информации и ее получения
Т.е эта подкатегория позволяет решать уже ряд очень специфических задач, возникающих в процессе сбора данных. Ну а последняя подкатегория - это вспомогательная.
Вспомогательные объекты :
  • seo – набор функций, связанных с SEO. Данный объект позволяет получать карту сайта, а также внешние и внутренние ссылки. Весьма вспомогательный.
  • submitter – вспомогательный объект для сабмита информации в веб. Этот объект более нам интересен с точки зрения постинга в веб. Хотя иногда чтобы что-то собрать с веба надо туда что-то запостить, например те же регистраторы аккаунтов. Содержит следующий функционал
    • получение случайных географических данных (страна, регион, город, улица)
    • получение случайных ников, имен и фамилий
    • получение случайных строк и чисел
Т.е как видим из описания функционала, Хуман Эмулятор умеет весьма много. И это мы обязательно будем использовать создавая наши скрипты сбора данных. А в следующей статье я расскажу про категорию Window, тут собраны объекты, помогающие хуман эмулятору взаимодействовать с Windows а также управлять любыми другими сторонними программами и окнами.

Human Emulator, и базовые системные Операции

Этой статьей я продолжу описание использования XWeb Human Emulator для решения задач сбора данных. Сегодня поговорим о функционале, предоставляемом PHP объектами из категории SYSTEM:
объекты System для Human Emulator
  • clipboard – работа с буфером обмена. Данный объект полезен для обмена информацией через буфер обмена. Например для того чтобы скопировать информацию из файла в заданный элемент браузера или даже в любое другое окно системы.
  • file_os – управление локальными файлами. Данный объект используется для работы с файлами в файловой системе. Как для системных операций, например копирование файла, перемещение файла, так и для получения информации о фале, времен доступа к файлу, а также работы с его атрибутами.
  • firebird – работа с локальной базой данных Firebird - позволяет работать с любой Firebird базой, получать и добавлять записи, а также выполнять любые другие SQL запросы.
  • folder - управление локальными папками - этот объект позволяет работать работать с расположением папки на диске, например копировать, переносить и удалять папки целиком. Также получать любую информацию по каждой из папок, включая атрибуты и даты доступа.
  • msword – работа с вордом - позволяет управлять приложением MS Word.  Есть функционал по созданию и открытию документов. А также функционал по добавлению различных видов текста. Также есть возможность по созданию таблиц.
  • sound – управление звуком - этот объект служит для подачи звуковых сигналов и проигрывания мелодий. Полезен для организации сигнализации в работе скрипта.
  • textfile – функционал для работы с текстовыми файлами. Этот объект служит для организации работы с текстовыми файлами, содержит широкий набор функций по получению информации, управлению, преобразованию и другими операциями необходимыми нам для организации сбора данных.
Про следующие два объекта я хочу сказать что благодаря этим объектам Хуман полностью позволяет получать контроль над мышкой и клавиатурой. Это нужно чтобы производить более глубокую эмуляцию действий пользователя, фактически неотличимую на уровне железа.
  • keyboard – эмуляция клавиатуры. Объект позволяет как полностью эммулировать клавиатуру, так и на уровне событий. Есть эмуляция ввода целых строк, нажатия и отжатия управляющих и обычных клавиш. А также возможности по смене языка ввода.
  • mouse – эмуляция мыши. Объект позволяет полностью эммулировать мышь, а также эмулировать события мыши для приложения хумана. Есть возможности управления щелчками, нажатиями и отжатиями правой и левой кнопки мыши, управление перемещением мыши, а также эмуляция работы колеса мыши.
Вывод
Как видим объекты XWeb Human Emulator из категории SYSTEM существенно облегчают нам жизнь в решении задач сбора данных. Особенно если учесть что эти команды могут быть выполнены как локально (на домашней машине) так и удаленно (на любой другой машине, чей ай-пи адрес известен и на которой запущен хуман). Все это нам пригодится в написании сборщиков, которые будут эмулировать работу браузера, нажимать ссылки и вести себя как обычный интернет пользователь.  А в следующей статье я опишу следующую категорию объектов хуман эумлятора. Категория WEB - функционал для работы с интернетом и сетью.

Human Emulator и работа с элементами HTML

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

описание XHE объектов из категории DOM

1. DOM объекты заданного типа
За это отвечают объекты из категории DOM, -  каждый из объектов  (за исключением интерфейса и списка интерфейсов) отвечает за работы с элементами заданных типов. Например $anchor - описывает за работу со ссылками на текущей веб странице, а $image - за работу с картинками, и так по каждому из общеупотребляемых тэгов.
Все эти объекты поддерживают следующие операции (Базовый функционал):
+ специфические операции для каждого объекта, например
для картинки ($image), это будет
а для таблицы ($table) :
И так по каждому из объектов. Как видим что возможностей более чем достаточно, можно напрямую управлять и получать как свойства DOM элементов так и эмулировать события мыши и клавиатуры для отправки их в заданный элемент.  Это уже позволяет нам иметь полный доступ и управления всеми HTML элементами.
2. DOM Интерфейсы
Но кроме того XHE позволяет напрямую подключатся к DOM интерфейсам. Для этого используются следующие объекты :
  • interface – прямой интерфейс к элементу страницы
Это нужно для того чтобы с максимальной эффективностью производить несколько операций с одним и тем же элементом или для более объектного подхода при решении задачи. Здесь объект interface - представляет связь с заданным DOM объектом, для чего используются функции установки связи :
А уже после установки связи с объектом могут быть произведены операции следующих типов :
3. Списки DOM Интерфейсов
  • interfaces – список прямых интерфейсов к элементам страницы
Этот объект содержит в себе сразу несколько DOM интерфейсов и позволяет одновременную работу сразу с ними всеми. Например чтобы сразу получить все ссылки с заданными классами или с заданными внутренними текстами.  Для получения списка интерфейсов можно воспользоваться следующими функциями :
После отработки мы получим объект со списком всех интерфейсов, удовлетворяющих заданным условиям. А уже после этого мы можем вызывать все те функции что есть отдельно у простого интерфейса и получать результат выполнения в массив, т.е каждый интерфейс даст собственную ячейку в массиве результатов.
Вывод
На этом все про категорию объектов DOM, которыми можно управлять встроенным в XHE браузером.  Как видно из вышеприведенного описания, функционала для того чтобы работать с элементами html страницы более чем достаточно, т.с на любой вкус и цвет. Даже кто плохо знаком с программирование может использовать объекты из первой категории которые по заданным параметрам выполняют то что от них требуется, кто хорошо знаком с ООП - тому рекомендуется использовать интерфейсы и списки интерфейсов, чтобы код получался легко читаемый и быстро переносимый. На этом пока все дальше я рассмотрю объекты из категории Web, System, Window, каждый из которых призван решать определенные задачи в сфере автоматизации сбора данных в нашем случае.

Использование Human Emulator для сбора данных

Часто в процессе сбора данных, одного запроса урла через CURL недостаточно, например нужна авторизация с поддержкой флэша, данные появляются на странице через JS или еще либо как-то. Для этого существуют программы, которые позволяют автоматизировать браузер. (Эммуляторы и Автоматизаторы браузера) Т.е по сути они предоставляют возможность управления браузером посредством скриптов. Я остановлюсь на одной из них более подробно. Итак Human Emulator - система для веб автоматизации.

скриншот работы хуман эмулятора в режиме сбора ключевых слов

Описание программы Human Emulator (основное) :
  • программа представлена в виде интегрированной среды для разработчика (IDE)
  • решаемые задачи очень многогранны, фактически все что можно сделать в браузере все делается программой
  • язык на котором пишутся скрипты, управляющие работой браузера - PHP
  • в программе имеется встроенный редактор записи скрипов, упрощающий решения автоматизации
  • есть средства позволяющие просматривать элементы страницы и их свойства в виде различных представлений  (Дерево, Инспектор, Список и т.д)
  • есть панель отладки с возможностью просмотра всей необходимой информации в том числе и RAW обмен браузера
  • есть возможность открывать несколько браузеров а также менять их модели (IE от 6 до 11)
  • имеются средства облегчающие навигацию как в любом браузере (Панель Навигации, Фавориты, История и т.д)
  • возможность многозадачного выполнения скриптов (т.е запуск нескольких экземпляров программы, каждый со своей задачей)
Как видим Human Emulator для решения наших задач сбора - просто идеальное решение . Есть много мест в инете, откуда надо собрать информацию (например по тем же поисковым запросам) без эмуляции в браузере ну никак нельзя. Например
В следующих статьях я напишу скрипты, что собирают ключевые слова и данные о посещаемости с этих источников. А пока напомню где скачать базы Поисковых запросов и получить списки ключевых слов, если кого интересует этот вопрос.

четверг, 12 декабря 2013 г.

Где взять поисковые запросы

пример получения поисковых запросов

Во многих скриптах и программах сбора данных большую роль играют ключевые запросы, совершаемые людьми в интернете. Здесь я опубликую список мест где можно как получить бесплатно, так и купить списки поисковых фраз. Для тех кто хочет сэкономить свое время и деньги на сбор, рекомендую сразу получить большие базы ключевых слов от Макса Пастухова.
Поисковые подсказки :
Бесплатные инструменты по подбору слов следующие :
Получение списков ключевых слов платно :
Этот список можно продолжать очень долго, но я пока остановлюсь на этих ссылках. Кстати освоив программы сбора данных можно самому собрать достаточное количество слов под свои эксперименты, но с другой стороны купив платный доступ или целиком базу слов мы будем иметь больший выбор и сэкономим свои силы на этом, сконцентрируясь на той задаче, которая нам должна приносить прибыль. Тут выбор за каждым из нас.

среда, 11 декабря 2013 г.

Где взять прокси

Где взять списки прокси сервера
пример списка прокси серверов
Для примеров и программ, опубликованных на этом блоге часто нужны Cписки прокси серверов. Тут я скину информацию о том где их можно взять бесплатно или купить. Бесплатные прокси хороши тем, что не они бесплатные, а платные хороши тем что они быстрые и менее заезженные (на платных проксях сбор идет обычно гораздо быстрее)
Списки Бесплатных прокси :
  • FineProxy.org - можно взять здесь, прокси обновляются и разбиты по категориям
  • 2FreeProxy.org - список элитных и других бесплатных прокси, по категориям
Списки платные прокси :
MEGA MIX 30 дней;
Цена: 32,9 $

Мгновенное получение товара после оплаты.
MEGA MIX 10 дней;
Цена: 17,9 $

Мгновенное получение товара после оплаты.
Русские прокси VIP: (30 дней);
Цена: 16,9 $

Мгновенное получение товара после оплаты.
Русские прокси VIP: (10 дней);
Цена: 9,9 $

Мгновенное получение товара после оплаты.
Русские + Украинские прокси VIP: (30 дней);
Цена: 24,9 $

Мгновенное получение товара после оплаты.
Русские + Украинские прокси VIP (10 дней);
Цена: 13,9 $

Мгновенное получение товара после оплаты.
Европейские (EU) анонимные прокси сервера (30 дней);
Цена: 10,9 $

Мгновенное получение товара после оплаты.
Европейские (EU) анонимные прокси сервера (10 дней);
Цена: 5,9 $

Мгновенное получение товара после оплаты.
Остальные платные прокси можно посмотреть здесь.

Как запустить скрипт, написанный на PHP

Для запуска PHP скриптов, опубликованных на этом сайте можно поступить следующим образом :
1. Запуск через Human Emualtor
  • Cкачать с сайта и установить Human Emulator,
  • Скачать архив со скриптом и распаковать его,
  • Перенести распакованную папку в подпапку "\My Scripts" в каталоге, куда установлен хуман эмулятор,
  • Запустить хуман эмулятор,
  • В дереве Быстрого старта открыть файл run.php (или используя меню Файл->Открыть),
  • Нажать кнопку Выполнить скрипт (клавиша F5)


2. Запуск из командной строки, используя чистый PHP (если это возможно)
  • Скачать архив со скриптом и распаковать его в любую папку - например C:\X-Datas\
  • Скачать последнюю версию PHP и установить его в папку C:\PHP\
  • Подключить в php.ini все необходимые библиотеки
  • Набрать C:\PHP\php.exe -f  C:\X-Datas\Папка_Скрипта\run.php

вторник, 10 декабря 2013 г.

Уведомления о работе PHP сборщиков (уведомление на E-Mail через PHP)

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

скриншот получения статистики сбора данных

В PHP есть встроенная функция отправки писем mail , однако для наших целей этой функции недостаточно, потому что чтобы ей воспользоваться нужно лезть в пхп настройки что не очень удобно для простоты переносимости сборщиков с машины на машину.  Тем более я планирую изменить код так, чтобы одновременно работало много сборщиков на разных машинах. В интернете много готового кода отправки почты на PHP. Немного погуглив и посмотрев реализации, я остановился на php_libmail (Универсальный PHP класс для отправки почты), скачать и ознакомится с описанием которого можно здесь.
По сути это довольно простой и удобный класс, выполняющий те функции, которые нам нужны. Подключив его, слегка изменим наш класс CLogEvent, создав возможность отправки писем. Отправка теперь осуществляется через $log->event_mail($subject,$event); , где $subject  - тема письма, а $event - произошедшее событие, а для указания сервера с которого будет происходить отправка я использовал mail.rambler.ru, хотя можно было указать любой smtp сервер.
Теперь о том как его применять : для этого создадим скрипт сбора и отправки статистики , который запустим после запуска потоков сборщиков. Он будет раз в сутки опрашивать статистику сбора и отправлять нам ее на почту. Таким образом мы не прилагая больших усилий будем получать статистику работы сборщиков на свой электронный ящик.

отправленное через PHP на gmail письмо со статистикой сбора

Материалы :
Как всегда весь исходный код по этой статье можно скачать здесь. Руководство «Как запустить этот и другие PHP скрипты с этого сайта» всегда можно найти здесь. Где взять платные и бесплатные прокси сервера, можно найти здесь. А где взять поисковые запросы и ключевые слова можно найти здесь. Пожелания и предложения по коду и сотрудничеству можно присылать на почту или в комментарии.