.
25 августа 2010

WAP версия bash.org.ru

bash

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

Официальной WAP версии я не нашел, долгое время мучался с виджет-версией баша ideawidgets.ru — постоянные подвисоны с дальнейшей переактивацией просто выбесили... потом нашел таки чьё то творение, полностью меня устраивающее — wapbashorg.ru, но к величайшему моему сожалению с неделю назад меня стало редиректить на какой то «Вы очевидец».

В итоге решил сделать свой проектик WAP версии bash.org.ru чем сегодня и занимался (ушло больше времени чем планировал — поначалу думал часа за два справлюсь). Завтра ещё допишу парсер RSS ленты,  и в крон её — и вуаля !

Дизайн тупо скоммуниздил с wapbashorg, выкинув лишнее (будет время возможно переделаю), контент решил позаимствовать у первоисточника — грабер-парсер раза на 3 переписывал (всё оптимизировал).

В итоге получилось, что получилось :)

Прошу любить и жаловать:  wap.gtalex.ru

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

4 сентября 2009

Универсальный PHP граббер

Серфил по инету — на одном портальчике наткнулся на довольно ценную информацию, на основе которой, по моей идее, можно сварганить еще более интересный сайтик и собирать целевой траф  -  в общем для опытов мне понадобился сайт донор ЦЕЛИКОМ.

Сваял скриптик для полного «сдутия» сайта — этакой универсальный граббер на PHP, win32 приложений таких полно, а вот серверных nix решений не нашел (скорее всего снова изобретение велосипеда — но минут 15 моих поисков в поисковиках не увенчались успехом).

Итак:

На входе любая ссылка с сайта — на выходе папочка содержащая все файлы с данного сайта (всё куда мог дотянуться граббер).  Грабятся только внутренние ссылки — внешние полностью игнорируются.

Сохраняются все файлы, найденные по маске href= ... и  src= ...

Кому интересно — готов обсудить цену вопроса.

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

15 июня 2009

Парсинг поисковиков — язык запросов, парсеры, тонкости запросов

Давно уже хотел запостить свои размышления о парсинге поисковых систем — всё руки не доходили ...

У кого самые большие базы данных по онлайн информации ? — Правильно — у поисковиков ! Желая зарабатывать в онлайне денежки имхо просто необходимо уметь необходимую информацию вытягивать и этих баз ...

Итак — что такое поисковик надеюсь все знают, соответственно начнем с того, что поднимем вопрос — такое парсинг и для чего он нужен ?

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

Как правило парсеры применяются для поиска определенных ресурсов, либо определенного контента. Например поиск баз для спама — гостевых книг, форумов, блогов, адресов email,  поиск тематических статей для дальшейшего репостинга и реврайта.

Итак — что же тут такого, эдакого ?

А то, что для того, чтоб достичь поставленные результаты — т.е. напарсить максимально большое количество материала, просто необходимо владеть языком запросов той поисковой машины, которую парсим. Информации в сети довольно много и для начала я бы посоветовал проанализировать выдачу по соответствующим запросам «Язык запросов» Яндекса и Гугла.

По Яндексу, в принципе достаточно и встроенного описания языка запросов

А вот гугловское описание очень урезанное ... может в гугле и есть полное, но с лёту не нашел. Поэтому вот, что больше всего понравилось мне:

Компактное описание Google

Аdvanced operators reference

Заметки для простого поиска

Теперь чуток подробнее в режиме рассуждений на примере парсинга Гугла — допустим собиваем ссылочные базы гостевых книг и форумов:

Для начала конечно же необходимо подробно изучить как можно больше «кандидатов» — т.е. работающих примеров на разных движках.  (По умолчанию считаю, что Язык запросов , что уже изучен.)

* особенности URL-ов для регистрации, постинга и других специфических страничек (наличие в ссылке кеев guestbook, forum и пр.)

* особенности заполнения тайтла  (ключевые слова Форум, Гостевая книга и пр.)

* наличие на страничке определенного специфического текста, соответствующего данному движку (powered by phpbb, и пр.)

* наличие в анкорах на страничке определенного специфического текста (как правило тоже связано с используемым движком)

Далее столкнувшись с весьма неприятным ограничением по максимальному количеству отдаваемых страниц выдачи, напрягаем извилины в сторону «дробления» полученных результатов (неоходимо когда поисковик говорит, что результатов найдено дикие миллионы, а дает выдернуть только тыщу).

А в «дроблении» нам как раз очень поможет язык запросов !

* ну во первых неплохо бы исключить «дохлые» ресурсы добавляем в запрос -error -warning и т.п.

* дробим по доменным зонам и доменам site:ru site:com ...

* при запросах а-ля inurl:forum без использвания intitle можно дробить как раз по intitle:"a b" intitle:"aba" (тупо перебирая разные варианты)

* вообще можно в любые текстовые запросы добавлять перебор вариантов, напр. sign the guestbook «g», sign the guestbook «h» и т.д.

* в найденном по текстовым, либо тайтловым запросам можно включать либо исключать по типам урлов Напр. -inurl:"html" +inurl:"html" и т.д.

* для поиска в диапазоне используем цифровые операторы напр. page=#1:30#, так же можно и перебором page=1, page=2 и т.д. (где потребуется)

Маленькие хитрости

* конкретно при парсинге Гугла можно использовать различные дата-центры (это распределит нагрузку и исключит возможность бана одним дата-центром)

* особое внимание уделяем многоязычности при поиске, например гостевая книга в url-ах на разных языках может выглядеть очень по-разному guestbook, guestebook, gaestebuch, gastenboek, gaestebogen, gjestebok и т.д.   сам текст «добавить сообщение» и другие ключевики тоже

* конечно же не забываем о различных сокращениях и использования спец символов guest_b, guest-b, g-book и т.д.

* при парсинге ну допустим сабмит-форм не обязательно ведь выходить сразу на эту форму, возможно есть очень специфические странички которые гораздо легче «вытянуть», расположенные по соседству. Напр.  viewprofile viewtopcomments и прочее...

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

* желательно распределять запросы так, чтобы с одного IP было не более 1000 в сутки

В общем довольно творческий процесс получается :)

Напоследок пару слов о парсерах

Вообще лично мне нравился Aura SE Parser 1.1  — долгое время именно его и юзал, но к сожалению разработчик куда то запропал  и проект умер. Парсер написан на перле, исходный код никак не защищен — поэтому если есть желающие «оживить» софтину — стучите в личку. «Оживление» думаю не должно быть проблематичным — имхо нужно только подкорректировать регулярки да запросы.

Кому интересно ознакомиться поближе — велкам: интерфейс ауры и мануал

(повторяю — парсер в данный момент не парсит)

Добавлено 08.07.09  непосредственно Аура -  CGI и HTTP (perl специалисты — велкам)

Вообще, в идеале, парсер должен уметь следующее:

* Осуществлять многопоточный парсинг

* Работать через прокси (разных типов)

* Исходя из вышеперечисленного, желательно чтоб парсер был серверный (не win32)

* Запросы и регулярки для парсинга должны быть доступны для правки

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

* ВООБЩЕ идеально было бы подключение какого нить сервиса типа анти-капчи — если поисковик усомниться в чистоте ваших намерений и подсунет капчу — вуаля ! и работаем дальше — но подобных фич я еще не видел ... (хотя реализация не сложная)

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

кстати у Aura SE Parser мануал — супер, один из лучших которые я когда либо видел — всем бы так !

P.S.

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

рубрики: SEO | Комментарии (17)

26 декабря 2008

Автономные блоги с Я.Блоги

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

Парсер наваял самый простейший — однопоточный строчек на 20 — тем не менее 186 711 автономных блогов с рейтингом и кол-вом подписчиков я дернул, если кому интересно могу выложить и парсер и базу.

Ща наваяю чекер — нужно ведь PR и ТИЦ померять у каждого, а так же в планах пропарсить непосредственно ресурсы на доступность, движек (пока меня интересует только WP и его версия), и конечно же комментарии без nofollow и noindex. Как всё будет готово — отпишу.

Чёт настроение с утра на удивление хорошее :) да и музычка пробрала — «Город 312 — Фонари»

Попробую поделиться — например, так: (имхо красиво)

Вид из окна (на работе)

Вид из окна (на работе)

И ещё вот — (прошу отнестись со всей серъезностью)

http://www.whbt.ru/forum/viewtopic.php?t=2238&postdays=0&postorder=asc&start=0

<Хвостовой>

  • Парни из www.seodigest.ru взялись за хорошее начинание — SEО журнал ! Смотрю уже 2ой номер выпустили — молодцы, так держать!
  • Добавил в ридер земляка  Блог Сибиряка (я тоже из Сибири). 15 ого числа Денис уволился с офисной работы — думаю к лучшему, человек умеющий зарабатывать в онлайне не нуждается в других работах — оно только отвлекает и мешает, хотя дает какую то стабильность (может даже мнимую) в финансовом плане — в общем сильный шаг!

</Хвостовой>

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

Яндекс.Метрика