четверг, 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 скрипты с этого сайта» всегда можно найти здесь. Где взять платные и бесплатные прокси сервера, можно найти здесь. А где взять поисковые запросы и ключевые слова можно найти здесь. Пожелания и предложения по коду и сотрудничеству можно присылать на почту или в комментарии.

понедельник, 9 декабря 2013 г.

Многопоточный PHP сборщик поисковых подсказок

В предыдущих статьях я описал как создать многопоточные поисковые сборщики на PHP по следующим системам :
  • Google Suggest - сборщик поисковых подсказок Google
  • Yandex Suggest - сборщик поисковых подсказок Yandex
  • Rambler Suggest - сборщик поисковых подсказок Rambler
  • Nigma Suggest - сборщик поисковых подсказок Nigma
Весь код рабочий и выполняет свои задачи. Теперь зайдем с точки зрения удобств. Просто перепишем сборщик так, чтобы можно было запускать сразу сборщики всех типов за один раз. Для этого создадим конфигурационный файл \in\threads_cfg.in  следующего вида :
аббревиатура сборщика;Число потоков
gsu;10
ysu;10
nsu;10
rsu;10
Здесь мы указываем что надо запустить сборщики четырех типов, каждый в десять потоков. Далее готовим папку src - там создаем 4 файла для запуска каждого типа сборщика поисковых результатов в один поток :
  • gsu.php
  • nsu.php
  • rsu.php
  • ysu.php
Теперь модифицируем класс CMultiThreadLauncher , создающий потоки. Добавляем чтение и обработку конфигурационного файла для создания потоков и добавляем запуск потоков. И запускаем на выполнение. В итоге мы имеем одновременный запуск сборщиков любого типа в заданное число потоков. У всех сборщиков одинаковые входные данные запросов src/queries.txt и прокси src/proxy.txt. Эти данные делятся согласно числу потоков для каждого типа сборщика и запускается сбор.

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

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

Сбор поисковых подсказок Rambler (многопоточный PHP сборщик)

Идем далее по местам где можно получить поисковые подсказки. Следующая поисковая система это Rambler. С нее тоже можно получать вполне приличные поисковые запросы.

скриншот поисковых подсказок Рамблера по слову
\
Посмотрев в интернете мы найдем, что для запросов используется следующий адрес. Все это хорошо вписывается в наш базовый класс и систему сбора. Создаем класс CRamblerSuggest, порожденный от CBaseWebAPI. Меняем в нем $requested_url, $name и метод разбора и сохранения результатов на диск $this->save. На этом все, сбор данных с рамблера готов. Как видим из сделанного, имея базовые классы гораздо проще и быстрее делать готовые полнофункциональные сборщики поисковых подсказок. Так что ООП наше все. Далее запускаем это дело на сбор и у нас получилась уже система из четырех сборщиков получающих поисковые подсказки.

как собрать поисковые подсказки с Rambler.ru

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

суббота, 7 декабря 2013 г.

Сбор поисковых подсказок Nigma(многопоточный PHP сборщик)

Еще одно место где можно получить поисковые запросы это подсказки поисковой системы Nigma.ru. Набрав в ней например "поисковые п" мы получим следующее :

скриншот выдачи поисковых подсказок с Nigma.ru
Поискав в интернете , определяем что запрос поисковых подсказок идет по следующему адресу. Т.е в самом конце стоит слово запроса по которому нам надо получить подсказки. Модифицируем наш исходный код из предыдущей статьи. Для этого создаем класс CNigmaSuggest, опять же унаследованный от базового класса CBaseWebAPI.
Кроме того улучшаем возможности всех предыдущих сборщиков, внося в базовый класс возможность управления сбором через папку control, записывая в эту папку следующие файлы мы можем управлять работой каждого потока сборщика :
  • stop.control - указывает что сборщик надо остановить
  • pause.control - указывает что сборщик надо поставить на паузу (в файле содержится на сколько секунд нужно сделать паузу)
  • write_stat.control - указывает что потоку сборщика нужно обновить файл статистки о своей работе
  • add_proxy.control - указывает что потоку сборщика надо добавить те прокси что содержатся в этом файле и продолжить свою работу
скриншот сбора поисковых подсказко с Nigma.ru

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