Дек 18
Парсинг списка сайтов LiveJournal
Как-то раз задумался над тем, как получить список всех сайтов сервиса LiveJournal.
Поиск в интернете ничего не дал, единого списка/реестра я не нашел. Тогда мне стало интересно — можно ли собрать список LiveJournal-овских сайтов анализируя сами сайты изнутри (точнее кто у кого в друзьях)?
Написал программу (чисто ради интереса), для того что бы было с чего начинать работать — добавил в программу первоначальный небольшой список LJ-cайтов и возможность парсинга произвольного поста на предмет комментариев от других LJ-сайтов.
После этого, имея стартовую базу в несколько тысяч уникальных адресов, дописал функционал ,что бы идти по списку и анализировать профиль, тут же добавляя новые адреса в список. Проход по списку пришлось делать с задержкой, т.к. выяснилось, что если дергать LJ чаще, чем раз в две секунды — то за это банят на срок не меньше суток. Хотя и это не проблема, прокси ведь никто не отменял. Дописал функционал по параллельной обработке (с регулируемым количеством потоков) через список прокси.
В общем, не спеша обработав меньшую часть списка удалось при помощи самописного парсера удалось получить 2 миллиона LJ-сайтов:
Для себя сделал вывод, что при желании можно собрать достаточное количество адресов анализируя кто кого добавил в друзья.
Понятное дело, что будут такие LJ-сайты, на которые никто не ссылается + будут сайты-пустышки, которые были созданы только ради аккаунта для возможности комментирования на других LJ-ресурсах/сайтах и которые не попадут в выброку.