Как-то раз задумался над тем, как получить список всех сайтов сервиса LiveJournal.
Поиск в интернете ничего не дал, единого списка/реестра я не нашел. Тогда мне стало интересно — можно ли собрать список LiveJournal-овских сайтов анализируя сами сайты изнутри (точнее кто у кого в друзьях)?
Написал программу (чисто ради интереса), для того что бы было с чего начинать работать — добавил в программу первоначальный небольшой список LJ-cайтов и возможность парсинга произвольного поста на предмет комментариев от других LJ-сайтов.
После этого, имея стартовую базу в несколько тысяч уникальных адресов, дописал функционал ,что бы идти по списку и анализировать профиль, тут же добавляя новые адреса в список. Проход по списку пришлось делать с задержкой, т.к. выяснилось, что если дергать LJ чаще, чем раз в две секунды — то за это банят на срок не меньше суток. Хотя и это не проблема, прокси ведь никто не отменял. Дописал функционал по параллельной обработке (с регулируемым количеством потоков) через список прокси.
В общем, не спеша обработав меньшую часть списка удалось при помощи самописного парсера удалось получить 2 миллиона LJ-сайтов:
Предыстория написания парсера такова.
На одном украинском сайте объявлений (сайт с трехбуквенным именем, кстати, довольно мощный, является аналогом российского сайта Slando.ru) я как-то размещал объявление о продаже ненужной всячины. Указал номер телефона, по которому можно со мной связаться. Указал и указал, ничего особенного. Через несколько дней вечером получаю SMS-сообщение приблизительно в таком тоне: «Здравствуйте, %моё имя%! Мы супер-пупер компания, занимающая веб-дезигном, заказывайте сайты у нас. Наши поезда самые поездатые поезда в мире! тел. XXX-XXXXXХХ«.
Телефон мой, имя моё. Странно. Откуда?
Позвонил по номеру. Спрашиваю вежливым, но недобрым голосом:
- «Это та самая-супер-пупер компания?»
— «Ну да, это мы» — отвечает человек невеселым голосом
- «Мне тут SMS от вас пришло. Что это за спам рассылка?»
— «Ну …это не спам рассылка, это у нас информирование такое»
Был написан парсер сайта дверей на движке lookmy.info (сайт продает двери и связанную с ними фурнитуру). Структура категорий одно- и двухуровневая к которым относятся почти 2500 товаров.
С чем пришлось повозиться при парсинге:
- в исходном описании товаров встречались следы «левой» верстки, пришлось написать несколько правил замены
- в исходном описании товаров местами заглавные буквы новых предложений были в виде html-кодов для кириллицы. При просмотре контента через браузер — все отображается нормально, а в верстке вместо заглавной русской буквы «В» стоит вот такая кракозябра: В Похоже, тут без «SEO-шников» не обошлось. В результате пришлось создать в программе правила замены на нормальные символы.
В итоге получено:
Категорий — 56 штук (есть родительские и дочерние).
Информация по категориям:
поле |
пример |
уникальный идентификатор категории |
12 |
название родительской категории |
Экошпон |
URL-родительской категории |
|
название дочерней категории |
Эль Порта |
URL-дочерней категории |
http://[censored]/Ekoshpon/El-Porta/ |
URL-картинки категорий |
http://[censored]/…/gallery.gif |
скачана картинки |
да/нет |
кол-во товаров в категории |
5 |
новое имя картинки категории |
categ12gallery.gif |
Товаров — 2473 штук.