.

#1 RX pharmacy affiliate program!
6 мая 2008

Очень простой php парсер

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (6 оценок, среднее: 4.83 из 5)

Вор

Не в первый раз ко мне обращаются с вопросом как распарсить/сграбить то или сё.

Плагиат — дело конечно не доброе, но порой необходимое.

Для примера рассмотрим задачу воровства кейводров :)

По хорошему кеи добываются приблизительно так (если конечно не покупать готовую базу) — сначала грабим с какого нить подходящего ресурса (вордтрекер, увертюра и т.д. для англоязычных кеев) (директ, майл для русскоязычных) в глубь — это поисковые запросы с указанным кеем 2х, 3х словники и в ширь — это кеи синонимы или просто кеи, которые часто ищут вместе с исходым. Потом вся эта куча (либо только однословник) чекается на биды и возможно конкуренцию. Ненужное выкидываем, по остальному лепим доры.

Но можно пойти и другим путём — ищем дор, а лучше сетку доров. И распарсиваем уже готовые коммерческие кеи :) Как то делать было нечего — за день работы с разных сеток скоммуниздил 500 тыс уникальных русских кеев. Ру доры конечно же лучше искать в Раме :)

Ну и скриптик в студию:

<?php

//error_reporting(E_ALL); // врубал дя отладки

set_time_limit(0); // чтоб успело дограбить всё

ignore_user_abort(); // грабить не смотря на ошибки клиента

fp = fopen(«./keys.out»,"w+"); // складываем награбленное в keys.out

for($i=0;true;$i++) { //цикл для счётчика паг

$buf = file('http://xxxxxxx.ru/?p='.$i); // конкретный дор я решил не светить

preg_match(«!\<title\>(.*?)\<\/title>!ism»,$buf[3],$match); // кей в данном случае сидел только в тайтле, причем в анкорах внутренних линков кеев не было :)

$key = trim($match[1]," \r\n\t"); //режем переводы строк и прочую хуйню

echo $i." «.$key; flush(); //выводим на экран процесс грабинга (можно убрать), в принципе нужно только для начала — как только процесс пошел браузер можно закрывать

if (empty($key)) break; // условие останова (для этого конкретного дора)

fputs($fp,$key.»\n"); // пишем в файл выдранный кей

}
fclose($fp); // закрываем файл

?>

Скрипт я привел Очень простой — так сказать «5ти минутка» — ни обработки ошибок, ни через проки (на случай если не дают с одного айпишника грабить), ни многопоточный (если нужна максимальная скорость) даже пагу и ту через file дёргаю (по идее после получения кея дальше сокет можно закрывать). Чисто дёрнуть дор или ещё чего нибудь — для промышленного парсинга данный скрипт явно не подойдет. Вообще имхо, для промышленного, нужно на сях писать — и быстро и память не жрет и с многопоточностью всё в порядке (хотя в былые времена, когда шпамилок еще не продавали, мой скриптик-шпамила довольно шустро и на php работал).

Если интересно можно будет поднакрутить до многопоточности и работы через прокси :)

Ну и конечно не забываем, что приведенный скрипт не универсален — под каждую задачу затачиваем уже сами (формат страниц, выдирание нужного контента и т.д.)

P.S.

Кстати сегодня с новой офлайн работы первый раз на свой сервачек цеплялся — возникли каки то непонятные проблемы с пробросом фтп трафика — решил сильно не заморачиваться (разберусь как время будет) — поставил SFTPDrive — очень забавная софтина — в винду по ssh протоколу мапит виртуальный драйв с сервака — если не нужно расшаривать доступ нескольким юзерам (работаешь на серваке монопольно) то имхо — очень удобно! ФТП сервак на машинке вообще поднимать и настраивать не нужно !

И, на последок, пару рекламных ссылочек:

И для подтверждения авторства моего блога, секретный код: 2004163.53afaf17fa3bb99abb5f0a8b9a97fe6a.1210728395.d4c9e1895936ca00a60a1aedf7f8b9d1

Post to Twitter ReTweet

рубрики: SEO, Полезности, Программирование | Комментарии (36)

10 января 2008

Переносим блог WordPress на новый сервер

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5.00 из 5)

Апгрейд

Итак вроде все перенесено — жду обновления записей DNS !

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

Конфигурация «старого» сервера:  (все удовольствие 49 Евро в месяц)

Opteron 146 2000 mHz   /  memory 1Gb   /  HDD 160 Gb /  Траф безлимитный

Датацентр в Германии — keyweb  на данный момент аптайм 103 дня — и то последний раз ребутил лично сам. Никаких панелей не установлено — считаю подобные вещи лишней тратой денег :) амп (апаче мускул пхп) ставил сам.

В данное время пишу пост пока ещё на «старом» сервере — заодно и увижу как днс обновится :)

Вкратце процесс переноса:

* Бэкап БД MySQL дампером

мне лично нравится эта софтина, вообще конечно по методам создания дампа — разбег велик

* Бэкап файлов

я в терминальной сессии Putty затарил всю папку

* Все кидаем на новый сервер, создаем БД — разворачиваем дамп, копируем файло

* P.S. домен естественно должен быть отложен

(как настроить DNS и Apache думаю обьяснять не стоит)

Для проверки правильности переноса (записи днс ещё не обновились, а работоспособность  хотелось бы проверить уже сейчас) — побыстрому накидал скриптик, который и дёрнул с браузера

<?php

$ip   = «xxx.xxx.xxx.xxx»; // сюда прописываем айпишник нового сервака

$host = «blog.gtalex.ru»;  // запрашиваемый хост

$sockets = fsockopen($ip, 80);

fputs($sockets, «GET / HTTP/1.1\r\nHost: $host\r\n\r\n»);

while (!feof($sockets)) {

echo fgets($sockets, 128);

}

fclose($sockets);

?>

можно конечно ещё заголовки чикнуть для красоты — но я посчитал излишеством — свою цель я достиг — морду блога со всеми записями, баннерами и прочим оформлением я увидел

Post to Twitter ReTweet

рубрики: CMS, Программирование | Комментарии (15)

21 сентября 2007

К вопросу о резервном копировании ...

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Не было оценок)

BackupRecovery

Небольшое лирическое отступление:

Окончательно я утвердился в мнении что, совсем я не писатель — до Давыдова и Майнаса как до Китая пешком :) Поэтому дабы не давить из себя непонятно что, пришел к выводу — делать посты по своей же текущей работе. Т.е. выводить в свет те проблемы и решения которые меня в данный момент занимают. Данный вывод позволил увидеть мир нижеследующему посту :)

Итак — у многих есть дедики, хостинг всякий, впс-ы. На них естественно куча всякого очень важного и нужного софта — блоги, парсилки, спамилки и т.д. и т.п. (Кстати совсем не давно читал жалобный пост — у чела полетел винт, пришлось блог с нуля восстанавливать — сочувствую). Всё это дело храниться просто в виде файлов, а так же в базах данных (как правило MySQL).

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

Не буду более томить — «Скрипт в студию!»: Читать полностью »

Post to Twitter ReTweet

рубрики: NIX, Полезности, Программирование | Комментарии (25)

10 сентября 2007

Автоматическая регистрация доменов

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 3.00 из 5)

В автоматическом комбайне явно не помешает модуль регистрации доменов автоматом, ценность которого думаю трудно переоценить :) = для чего заюзаем API регистраторов klikdomains и estdomain ... Читать полностью »

Post to Twitter ReTweet

рубрики: Программирование | Комментарии (19)

24 августа 2007

Плагин PHP Widget

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 2.00 из 5)

Осваивая WP решил поместить в сайдбар некий динамический модуль — в моём случае это раздел "Сегодня в блогах", который нагло грабит с яндекса ТОП 3 обсуждаемого в блогах.

С лёту думал — размещу код <?php ... ?> в текстовый виджет и готово, но увы — текстовый виджет только для текста ...

Пришлось написать свой плагинчик, который добавляет PHP виджет (имхо виджет — очень удобно: как захотел так и разместил), некий аналог текстового виджета, только вместо текста будем писать php код, а результат выполнения будет отображаться вместо текста.

Собственно, представляю на ваш суд свое творение php-widget-v1.0

p.s. конечно скорее всего велосипед изобрёл — но прежде чем писать плагин, довольно плотно гуглил — не нашел ничего подобного

Post to Twitter ReTweet

рубрики: Программирование | Комментарии (9)

7 августа 2007

Распознаём капчу PHPBB2

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (8 оценок, среднее: 3.63 из 5)

Пропалю алгоритм распознавания капчи PHPBB2 :)

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

Ладно, приступим !

На входе имеем стандартную phpbb2 капчу (графический PNG файл , пусть будет такая:

captcha

На выходе хотелось бы получить строчку из 6ти символов KXLDXL :) Читать полностью »

Post to Twitter ReTweet

рубрики: Программирование | Комментарии (30)

3 августа 2007

Класс HTML Form Parser

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Не было оценок)

Продолжу выкладывать php классы полезные программистам SEO скриптов. Заодно и жирненький трэкбэк бэк-линк попробую заполучить (как в эксперименте у SM)

Итак прошу обратить внимание на класс HTML Form Parser, который умеет парсить все формы на страничке — думаю в разного рода авто-сабмиттерах просто незаменимый элемент. Лично мне данный класс сильно помог в создании гест-спамилки (к сожалению так до ума и не довёл) и phpbb-форум регистрялки, в планах — регистратор по каталогам.

Собственно выкладываю:

Собственно дополнить больше нечем — Enjoy !

Post to Twitter ReTweet

рубрики: Программирование | Комментарии (6)

  • Ссылочки