Архив блога VadoZ

Архив за Декабрь, 2008

Буржуи не пройдут

23rd Декабрь, 2008

На различных форумах время от времени всплывает вопрос — как выбрать с огромной базы форумов только русскоязычные? Частично на него ответил dimon799 в своей статье Урок Второй. Будем фильтровать базу. , написанной для конкурса .
Димон предложил выбирать форумы с кодировками KOI-8R WINDOWS-1251 . Весьма разумное предложение, но как-же быть с форумами в кодировке UTF-8 ? На СЕОшных форумах предлагают вспомнить основы программирования и написать распознавалку языков, либо более простой путь – забить. На попытки выспросить более приемлимые пути обижаются и заводят песню про невозможность невозможного в обозримом настоящем. Народ, блин, ну проявите хоть чуток фантазии! Откройте наугад 3 рускоязычных форума… ну например
http://forum.nalog.ru/index.php
http://www.mvideo.ru/phorum/
http://forum.mgimo.ru/index.php
Догадались?
Конечно! В русскоязычных форумах названия разделов обычно состоят из русских слов :). И очень часто встречаются слова типа флейм, курилка, общий, обьявления, реклама. Достаточно прошерстить форумы по методу предложенному dimon799, добавив к кодировкам список слов, часто встречающихся в названиях разделов. Итак для начала выберем форумы с кодировкой UTF-8. используем для этого «Анализатор базы ссылок» и методику описанную dimon799.

Затем собираем список слов, встречающихся в названиях разделов. Уже начали наполнять список? Не торопитесь – ведь у нас в руках 5-я версия хрумера! Именно в ней появилась замечательная опция «Вести лог списков разделов на форумах».

Включаем эту опцию, делаем тестовый прогон нашей базы, смотрим в файл Logs/CategoriesLog id*.txt , выбираем из него русские слова и … тут нас ожидает очередная засада – нам нужен инструмент, корректно работающий с русским языком и UTF-8. Недолгие поиски результата не принесли, поэтому было решено сваять такой инструмент самому. Писалось, как обычно, на коленке пяткой левой ноги… поэтому к инструменту нужен особый подход :).
Изучаем скриншот.

Жмем кнопку Load Url и загружаем список форумов с кодировкой UTF-8. В поле паттерна вводим что-то наподобие

(Курилка|Оффтопик|Юмор|Болталка|Общий|и т.д и т.п)
Синтаксис очень простой — внутри скобок перечисляем слова или словосочетания разделенные вертикальной чертой.
Выставляем кол-во потоков и жмем Parse. Как увидим что инструмент отработал – жмем Save – список русских форумов сохранится в файл c:url.txt . Разумеется, у программы должны быть права на запись в корень диска C.
Скачать сей чудесный программный продукт можно по не менее чудесной гиперссылке. Продукту для работы нужен .NET Framework 2.0 – без него работать не будет.
Вот и все. Как оказалось не так страшен UTF, как его малюют.
Важное замечание – при этой проверке база форумов должна быть приведена к индексу. Сделать это можно Hrefer-om или инструментом «Пост-обработка ссылок».

Людям купившим Xrumer по моей ссылке я не делаю откат в размере 50 долларов… Но могу помочь советами, а это намного дороже денег!

XRumer ,

Крутим белый сайт досками.

5th Декабрь, 2008
Комментарии к записи Крутим белый сайт досками. отключены

Постановка задачи.

Дано:
1) Белый (условно белый ) сайт, который мы хотим монетизировать.
2) Xrumer 5-й серии
Требуется:
Либо трафик – продажа реальных товаров, контекстная реклама и т.д.
Либо пузо – продажа ссылок.
А лучше и того и другого и можно без хлеба (с) Винни-Пух .
Таким макаром наши задачи сводятся к банальным – нагнать посетителей и нарастить пузо.
Для реализации наших замыслов выберем жертв – доски объявлений, благо мод для постинга в них мы уже сделали.

Наращивание пуза

Как Вы помните, при регистрации пользователя в доске мы указываем адрес веб страницы…

У Вас может возникнуть соблазн прогнать ресурс в режиме «Только регистрация» — по аналогии с форумами и сидеть сложа руки ждать прироста пуза, но я бы не рекомендовал так делать и вот почему – посмотрите на эти 2 ресурса форум и доска . Заметили разницу? На форуме есть ссылка , пройдя по которой бот поисковой системы увидит список пользователей и рано или поздно найдет нашего пользователя… у досок такой ссылки нет. Какой выход? Либо постить объявления (тогда в тексте объявления появится ссылка на наш сайт и на наш профиль) либо самому скармливать боту ссылки на созданные профили. Второй путь в принципе не сложный – благо все ссылки на профили в досках WR-Board имеют вид tools.php?event=profile&pname=username, следовательно, имея список ресурсов в которых мы зарегистрировались и зная логин пользователя, мы можем создать список ссылок на профили, которые затем скормить поисковикам, например при помощи «Ускорителя могучего робота Яндекса»
Какой путь выбрать – дело вкуса. Лично мне проще первый путь, но если какие-то ссылочки не торопятся индексироваться – не грех этот процесс ускорить :).

Нагоняем траф.

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

Несколько слов про «умелый подход» — посмотрите выборочно пару-тройку досок из ссылки приведенной выше. Посмотрели? Так вот ТАК ДЕЛАТЬ КАТЕГОРИЧЕСКИ НЕЛЬЗЯ! Конечно у меня есть тысяча отмазок типа – я не ставил своей целью привлекать траф и вообще это был тестовый прогон…. Но если Вы хотите получать соответствующий выхлоп – потрудитесь подобрать соответствующие вашей тематике НЧ кейворды и использовать систему вариаций при составлении текста объявления. Обратите внимание на то, что в системе вариаций Вы можете использовать не только отдельные слова, но и словосочитания, предложения, фрагменты текста.

Только не стоит в погоне за уникальностью текста постить в доски марковку :) Также не стоит пытаться впихнуть в текст объявления всю базу Пастухова :) . Составляйте тексты объявлений для людей, но с вхождением нужных кеев.

Дерзайте, и да прибудет с Вами траф!

P.S.
Если у Вас еще нет, Xrumer-а, но Вы уже поняли что он Вам нужен — держите ссылку на сайт разработчика

XRumer ,

Делаем мод для XRumer-а. Часть 4-я, последняя

4th Декабрь, 2008

Пришло время обучить Xrumer находить и заполнять форму подачи объявления.
Смотрим по какому URL находится форма — add.php , отлично, добавляем в xurl соответствующее правило:

AddLinkRule([
0,'add.php'
],URL_TONEWPOST);

Все, Хрумер знает где искать форму. Правда не сложно?
Теперь обучим его заполнять поля формы.

Смотрим исходный код формы:
<form action="add.php?event=add" enctype="multipart/form-data" method="post"><strong>Добавление объявления</strong> Категория: <select class="maxiinput" name="rubrika"> <option style="color: #CD8181;" value="0|||||">Работа и бизнес</option> <option value="71|72|Разное|Прочие мелочи|"> -   Прочие мелочи</option> </select><input name="stime" type="hidden" value="1228399684" /> Тема объявления:<span style="color: #ff0000;">*</span> (не более 60 символов) <input class="maxiinput" maxlength="60" name="zag" /> Текст объявления: <textarea class="maxiinput" style="height: 200px; width: 300px;" name="msg"></textarea> Тип объявления:<span style="color: #ff0000;">*</span> <input name="type" type="radio" value="П" /><strong><span style="color: #ee2200;">П</span></strong>редложение <input name="type" type="radio" value="С" /><strong><span style="color: #1414cd;">С</span></strong>прос Ваше имя: <input name="name" type="hidden" value="testnik" /><strong>testnik</strong> Срок хранения объявления: <select style="FONT-SIZE: 13px" name="days"> <option value="7">7 дней</option> <option value="14">14 дней</option> <option value="30">30 дней</option> <option value="60">60 дней</option> <option value="90">90 дней</option></select><input class="longok" type="submit" value="Сохранить" /> </form>

Как видим нам нужно заполнить следующие поля:
rubrika — выбор рубрики
zag — тема обьявления
msg — текст обьявления
type — тип обьявления
days — срок хранения обьявления
Поле rubrika мы игнорируем – это обычный SELECT и Хрумер сам будет пытаться выбрать значение соответствующее списку приоритетных разделов проекта.
Срок хранения имеет смысл сделать максимально возможным – 90 дней (нужно передать значение 90), а тип объявления – предложение (нужно передать значение П).
Открываем xas.txt и добавляем в него следующие строки:

#type
П
#days
90
#zag
SUBJ1
#msg
MESSAGE

Все! Мод готов!
Если лень идти пошагово — можно скачать готовый мод .

З.Ы.
Следует заметить, что мы получили очень сырой мод. В чем его сырость – не думаю, что админы спят и видят, чтоб на их досках паслись исключительно боты, соответственно всеми доступными им средствами будут бороться с нами – менять урлы, добавлять поля и т.д. Поэтому чтоб получить полноценный мод нужно провести еще довольно таки большую работу по анализу имеющихся досок, но мне этим занимается некогда…

Пара советов для желающих довести данный мод до ума:
1) Соберите большую базу, прогоните по ней тестовый проект с включенной системой самообучения – так Вы отловите неизвестные программе поля.
2) При прогоне включайте подробные отчеты – так Вы отловите ресурсы с измененной структурой ссылок.
Что делать с полученным добром Вы уже знаете ;)
Удачи!

XRumer ,

Делаем мод для XRumer-а. Часть 3-я обучаем Хрумер логиниться в досках

3rd Декабрь, 2008
Комментарии к записи Делаем мод для XRumer-а. Часть 3-я обучаем Хрумер логиниться в досках отключены

Обучаем Хрумер логиниться в досках.

Привет всем, кто с нами. Продолжаем нашу повесть про обучение Xrumer-a.
Сейчас мы научим логиниться в досках. Сразу скажу, что обычно это не нужно – Xrumer прекрасно поддерживает сессии и большинство досок считает вас залогонеными сразу после регистрации, но, как говорится, случаи бывают разные.
Первым делом обучим XRumer отличать ресурсы где мы уже залогонены, от ресурсов где нам предстоит войти под своим именем. Запускаем любимы браузер, идем в любую доску и логинимся там ручками… Сделали? Что изменилось? Правильно, появилась надпись «Ваш Профиль» — чем не флаг для XRumer-а? Смотрим как эта надпись выглядит в HTML виде и добавляем ее к списку маркеров флага LOGGEDIN (надеюсь Вы еще не забыли, что список флагов состояний программы находится в xmessages.txt). Для версии 5.02 должно получится так:

#<strong>Logged in as:;>Log Out</a>;act=Login&CODE=03;loged in;&action=logout;?action=logout;?logout=true;Ваша регистрация закончена.;вы вошли как:;registration is now complete;you may now begin posting using your new username and password;Ваша регистрация теперь завершена.;Спасибо, Вы зарегистрировались и авторизованы;logout.php;Регистрация завершена. Вход и переадресация...;Вы зашли как <b>;hello, dear <b>;Вы зашли под логином: ;>You are logged on as<br>;>0 messages</a>, 0 are new.<br;index.php?action=logout;>You may now begin posting using your new UserName and Password.<;/ubb/my_profile.;Your registration is complete and you are now logged in;>logout</a>;>log out [ ;>Вы вошли как <A href="javascript://";<p class="home"><b>Вошли как:;<a href="log_off_user.asp";>Ваш Профиль<
LOGGEDIN

Теперь научим XRumer находить форму входа. Форма во всех рассматриваемых досках находится по адресу tools.php?event=login , следовательно нам нужно прописать в файле xurl.txt правило, согласно которому хрумер будет перемещаться на страницу логина.
Добавляем в xurl.txt следующие строки:

AddLinkRule([
0,'tools.php?event=login'
],URL_TOLOGIN);

Следующий этап – заполнение и отправка формы регистрации.
Смотрим HTML код формы:

<form action="tools.php?event=regenter" method="post">
<strong>Вход в систему</strong>
Имя:<input class="miniinput" name="myname" />
Пароль:<input class="miniinput" name="mypassword" type="password" />
<input class="longok" type="submit" value="Войти" />
</form>

Как видим XRumeru нужно заполнить всего 2 поля: myname и mypassword. Добавляем эти поля в файл xas.txt, не забывая, что Хрумер учитывает и вхождение слов в поля.
В итоге xas.txt примет такой вид:

#!mail;email
EMAIL
#url
HOMEPAGE
#login;myname
NICKNAME
#!password
PASSWORD
#gorod;icq;phone;company;about

#rules
1

Может возникнуть вопрос – куда делось поле mypassword? А никуда не делось – Хрумер увидит , что описанное нами в xas.txt имя password входит в mypassword и прекрасно его заполнит.
Проверяем что у нас получилось – включаем режим «Рассылка от ранее зарегистрированного пользователя» и нажимаем кнопочку Тест. Тут нас ожидает неприятный сюрприз — Хрумер грязно выругался фразой «Result: не нашлось формы для отправки; «. Проверяем содержимое папки Debug — видим, что Хрумер таки заходил на страницу логина, но форму чего-то незаполнил… Уж не знаю с чем это связано, но сдается мне именно с этим связаны крики о плохом пробиве в режиме «Рассылка от ранее зарегистрированного пользователя» . Анализ ситуации привел меня к весьма неутешительному выводу – хрумер хочет найти полноценную форму с сабжектом и textarea, и ему абсолютно посрать на то, что мы тут должны всего-то залогониться… У нас нет особого выбора кроме как сказать ему, что на данной страничке эти поля не является жизненно необходимыми. Открываем файл флагов состояний (xmessages.txt) и добавляем признак формы логина (например строку name=mypassword) для флагов FORCE_TEXTAREA и FORCE_SUBJECT.
Получатся такие 2 строки:

#name=mypassword
FORCE_TEXTAREA
#name=mypassword
FORCE_SUBJECT

Перезапускаем XRumer и снова нажимаем кнопочку Тест.
Изучаем папку Debug и радуемся полученному результату.

З.Ы.
не забудьте по окончании теста снять галочку «Рассылка от ранее зарегистрированного пользователя», а то завтра на форуме Ботмастера будет куча гневных постов из разряда «пробив гавно» :-)

XRumer ,