LiveJournal TOP 1000
Jul. 21st, 2011 03:37 pmНаши ноутбуки не для скуки. Выкачал TOP 1000 ЖЖ по количеству друзей. В смысле по количеству в друзьях у. Ну, это единственный ТОП, который есть в ЖЖ. Затем написал робота, который ходит к указанным товарищам в профиль, собирает личные данные и аккуратно складывает их в общую кучу. Код робота писался на C#, не буду утомлять ненужными техническими подробностями, все довольно просто – зашел на страничку, пропарсил ее на вхождение нужных переменных, сохранил, перешел к следующей.
И так 1000 раз. А для того, чтобы LiveJournal на моего робота не обижался – поставил существенную задержку между заходами, а то они очень уж строго предупреждают – будете ходить к нам своими роботами и не вытирать ноги – забаним. Поэтому весь процесс занял больше суток – написание робота, тестирование, работа, форматирование результатов.
Получилась вот такая табличка:
| User | Friend Of | Friends | City | Region | Country | Journal Entries | Total Comments | Created on | Last Updated | Account Type |
| drugoi | 69145 | 749 | Москва | Norway | 13,188 | 1,698,002 comments received, 66,105 comments posted | 2002-03-02 | 1 hour ago | Permanent Account | |
| tema | 68601 | 24 | Южная Пальмира | Russian Federation | 3,638 | 2,049,489 comments received, 6,880 comments posted | 2001-09-04 | 4 hours ago | Permanent Account | |
| navalny | 52840 | 10000 | Москва | Москва | Russian Federation | 2,306 | 957,191 comments received, 14,365 comments posted | 2006-04-19 | 3 hours ago | Paid Account |
| sergeydolya | 51964 | 1991 | 870 | 243,261 comments received, 28,394 comments posted | 2007-11-09 | 1 day ago | Permanent Account | |||
| pesen_net | 48525 | 202 | Рига | Russian Federation | 187 | 53,083 comments received, 10,084 comments posted | 2007-04-22 | 6 weeks ago | Paid Account | |
| zyalt | 35617 | 384 | Москва | Москва | Russian Federation | 1,619 | 246,360 comments received, 11,344 comments posted | 2006-07-26 | 22 hours ago | Paid Account |
| dolboeb | 33820 | 1942 | Moscow | Russian Federation | 8,335 | 522,484 comments received, 38,400 comments posted | 2001-02-06 | 58 minutes ago | Permanent Account | |
| belonika | 33151 | 4604 | 781 | 208,475 comments received, 36,079 comments posted | 2008-09-08 | 6 hours ago | Paid Account | |||
| eprst2000 | 31454 | 11 | Мск | Москва | Russian Federation | 460 | 46,324 comments received, 3,724 comments posted | 2002-08-22 | 1 week ago | Paid Account |
| tebe_interesno | 29831 | 612 | Москва | Москва | Russian Federation | 547 | 31,679 comments received, 8,823 comments posted | 2007-06-25 | 10 weeks ago | Paid Account |
| mi3ch | 29827 | 738 | Moscow | Москва | Russian Federation | 6,930 | 374,776 comments received, 44,883 comments posted | 2003-04-03 | 2 hours ago | Permanent Account |
| shpilenok | 29637 | 119 | Брянская область | Russian Federation | 303 | 57,348 comments received, 4,461 comments posted | 2009-01-11 | 6 hours ago | Paid Account | |
| zhgun | 26081 | 29 | 188 | 22,301 comments received, 8,626 comments posted | 2002-04-28 | 5 weeks ago | Paid Account | |||
| mantrabox | 25572 | 373 | Russian Federation | 2,915 | 60,720 comments received, 17,850 comments posted | 2002-12-29 | 1 week ago | Paid Account | ||
| olegtinkov | 25291 | 11 | Moscow | Russian Federation | 638 | 137,481 comments received, 6,277 comments posted | 2009-02-21 | 18 hours ago | Paid Account | |
| radulova | 24682 | 595 | Москва | Russian Federation | 8,622 | 874,385 comments received, 31,657 comments posted | 2004-11-14 | 1 hour ago | Paid Account | |
| tanyant | 24282 | 199 | 318 | 67,802 comments received, 6,868 comments posted | 2007-12-14 | 2 weeks ago | Plus Account | |||
| stillavin | 23615 | 1703 | Москва | Москва | Russian Federation | 1,299 | 311,283 comments received, 18,247 comments posted | 2006-08-23 | 3 days ago | Paid Account |
| mzadornov | 22568 | 80 | Москва | Russian Federation | 161 | 62,221 comments received, 136 comments posted | 2009-09-15 | 3 days ago | Plus Account | |
| miumau | 21495 | 47 | Berlin | Germany | 2,957 | 163,632 comments received, 13,520 comments posted | 2002-02-27 | 1 hour ago | Paid Account |
…
Полный файл с 1000 записей находится в Google Docs. Данные актуальны на сегодня 21 июля 2011 года, но еще пару месяцев, а то и полгода они вряд-ли существенно изменятся.
Не смог удержаться построить парочку чартов и графиков, хотя каждый может использовать эти данные свободно и на свое усмотрение.
Если сортировать колонки вверх и вниз, можно наблюдать интересные детали.
Например отсортировав записи по количеству друзей, обнаруживаем, что больше всего друзей не у
navalny, у которого их 10000 (хотя ограничение для простых смертных по ЖЖ – 5000 друзей), а у некого юзера
inexi, у которого их 20624.
Или например сортируем по количеству записей в блоге. Больше всего их наструячил конечно же cypa, ну кто же еще? С 2003го года он сделал 43.390 записи.
А при обратной сортировке сразу же обнаруживаем любопытного бота –
blog_d_medvedev. Со дня создания в 2009м году этот псевдоюзер не сделал ни одной записи у себя в блоге, но его добавили в друзья 5816 человек. Явно какой-то робот, видимо просто игрушка в чужих руках. Наверняка не обошлось без мухлежа – френдомарафоны, накрутка рейтинга, подтасовки результатов голосования – все дела.
Продолжая сортировку мы узнаем, что самый старый блог, попавший в ТОП1000 был создан 31 марта 2000 (кстати, мне в тот день исполнилось 25 лет), а самый молодой – три месяца назад, в апреле этого года.
Так же в ТОП-е 139 Basic Account (Базовый), 560 Paid Account (Оплаченый), 15 Permanent Account (Постоянный), 284 Plus Account (Улучшенный) и один Early Adopter (а это кто это вообще, кстати? billycorgan – что он делает в российском топе, если живет в США и пишет по-английски?).
Получается – не так уж и много оплаченных аккаунтов в первой 1000. Чуть больше половины всего лишь.
Или, например разбивка по странам:
Короче много можно придумать работы аналитикам, статистикам, разнообразным специалистам по продвижению чего бы то ни было и прочим любопытствующим бездельникам.
Сначала думал сделать данный сервис онлайновым и постоянно обновляющимся, но потом решил, что за ежедневные 1000 запросов к серверу ЖЖ (точнее даже больше) меня вместе с моим роботом по голове не погладят. Так что, ограничился единовременной статистикой.
Пост и статистика приветствуются к распространению, никаких ограничивающих копирайтов на них не предусмотрено.
Кстати, хороший способ использовать кнопочку lj-like. Вот он (обращаю ваще внимание, уважаемые читатели) подходящий случай для подобной кнопки. Не в каждом втором посте, не “…ну, пожалуйста, ну поставьте на меня ссылочку, ну, загоните пост в топ, ну сделайте перепостинг…”, а действительно подходящий случай, удобно помогающий бесплатному распространению информации. Таким можно и воспользоваться.
no subject
Date: 2011-07-21 08:53 pm (UTC)no subject
Date: 2011-07-21 08:53 pm (UTC)no subject
Date: 2011-07-21 09:13 pm (UTC)Ну а чего там сложного?
Заходим в цикле 50 раз на страницы:
http://www.livejournal.com/ratings/users/?page=1
..
http://www.livejournal.com/ratings/users/?page=50
Бегаем по выкачанным страницам как по стрингам и собираем в ArrayList имена юзеров и их "в друзьях у".
Получаем список из 1000 человек. Потом проходим по нему в цикле, и заходим на страницы http://[имя пользователя].livejournal.com/profile и парсим их на вхождения остальных переменных.
После чего все пишем в базу, файл, или просто выплеваем на страницу, а оттуда копипастим ручками в Excel.
На php код займет полтора экрана, но я ж MCSD! :)
Объявлял для всего объекты, классы, использовал List и прочие .NET-овские приблуды.
Но так как делалось все для себя, и для единичного запуска - код получился совсем уж кривенький и далеко не оптимальный, мне такой открывать стыдно, меня больше на работу не возьмут после подобного кода. :)
no subject
Date: 2011-07-21 09:17 pm (UTC)no subject
Date: 2011-07-22 03:53 pm (UTC)Текст пришлось творчески переработать, они там такие обидчивые, банят направо и налево за любой шаг в сторону от личновыдуманных правил.
Там есть код и больше технических деталей, если интересно.
no subject
Date: 2011-07-22 08:03 am (UTC)no subject
Date: 2011-07-22 12:15 pm (UTC)no subject
Date: 2011-07-22 06:04 pm (UTC)no subject
Date: 2011-07-21 09:06 pm (UTC)no subject
Date: 2011-07-21 09:10 pm (UTC)no subject
Date: 2011-07-21 09:13 pm (UTC)no subject
Date: 2011-07-22 07:16 am (UTC)no subject
Date: 2011-07-21 09:15 pm (UTC)no subject
Date: 2011-07-21 09:18 pm (UTC)К пятнице бессмысленно просить перепоста. Все равно все в субботу на дачи разъедутся.
no subject
Date: 2011-07-21 09:18 pm (UTC)no subject
Date: 2011-07-21 09:21 pm (UTC)Например у drugoi - полтора миллиона комментов в блоге, а у tema - 2 миллиона. Зато drugoi в 10 раз больше ответил, 66000 против теминых 6ти.
А это о чем-то да говорит...
Короче строй графики, рисуй чарты, анализируй проведение будущих рекламных кампании - не хочу! :)
no subject
Date: 2011-07-21 09:26 pm (UTC)no subject
Date: 2011-07-21 09:55 pm (UTC)no subject
Date: 2011-07-21 09:29 pm (UTC)no subject
Date: 2011-07-21 09:51 pm (UTC)Интересно! респект!
P.S. Пользуюсь случаем: спасибо еще раз за подсказку для Адблока, как эти ненавистные кнопочки вырезать — ну так хорошо в ЖЖ стало! :)
no subject
Date: 2011-07-21 11:12 pm (UTC)А кто меня с днем рождения (http://sly2m.livejournal.com/416304.html) поздравлял?
По твоему это не есть палево возраста? :)
no subject
Date: 2011-07-22 12:27 am (UTC)Ну тогда скажем так, тут у тебя идет явное упоминание, а там неявное %)
14 сентября 2000
Date: 2011-07-21 10:15 pm (UTC)no subject
Date: 2011-07-22 04:52 am (UTC)no subject
Date: 2011-07-22 08:07 am (UTC)no subject
Date: 2011-07-22 10:47 am (UTC)no subject
Date: 2011-07-22 12:14 pm (UTC)По FOAF-у загружается развернутая статистика по друзьям. И если у навального 10000 друзей, его FOAF страничка несколько мегабайт весит.
Я знаю про FOAF, но для данной статистики легче и быстрее было профиль парсить.
no subject
Date: 2011-07-22 07:24 pm (UTC)no subject
Date: 2011-07-22 07:33 pm (UTC)Ты - сам себе враг.
И зачем ты это сделал?
Date: 2011-08-11 12:22 pm (UTC)Во-вторых, рейтинг он получается делает на гадости.
В-третьих, это ты его научил, подталкнул на это, значит большую часть ответственности за это дело будешь нести ты.
В-четвертых, это просто противозаконно, его могут за это забанить.
Re: И зачем ты это сделал?
Date: 2011-08-11 03:18 pm (UTC)Что делаю?
Date: 2011-08-11 03:38 pm (UTC)Re: Что делаю?
Date: 2011-08-11 04:29 pm (UTC)В-третьих, это ты его научил, подталкнул на это, значит большую часть ответственности за это дело будешь нести ты.
Какие умозаключения были совершены, чтобы выдать подобное суждение?
Поделитесь?
прошу прощение, если чем обидел
Date: 2011-08-11 09:05 pm (UTC)По поводу умозаключений, то подразумевал духовную точку зрения. Во-первых, имел ввиду ответственность на Страшном Суде. Во-вторых, известно, что человек вводящий в искушение отвечает пожалуй даже больше чем человек которого искусили.
К счастью, он не стал пользоваться т.с. советом.
Re: прошу прощение, если чем обидел
Date: 2011-08-11 09:14 pm (UTC)no subject
Date: 2011-08-11 09:25 pm (UTC)no subject
Date: 2011-08-11 09:31 pm (UTC)no subject
Date: 2011-08-11 09:49 pm (UTC)Кроме того, есть страсти в человеке. Это когда грех укоренился в человеке настолько, что стал происходить из него самого, стал потребностью души или тела.
ничего себе
Date: 2011-08-11 12:13 pm (UTC)Re: ничего себе
Date: 2011-08-11 03:18 pm (UTC)