?

Log in

No account? Create an account
official

Заводы стоят, одни мордоляпы в стране!


Previous Entry Share Next Entry
official

Технопост про топ записей

Как вы знаете, мы тут проводим эксперименты, определяющие, что же на самом деле влияет на попадание записи в топ ЖЖ. В каждой итерации теста одновременно участвует по 20-30 постов, поэтому хотелось бы иметь хороший инструмент для быстрого просмотра топа записей.

Перед проведением тестов я подробно изучил, как сервера ЖЖ выдают информацию со списком топовых записей. Очень не хотелось листать по 20 страниц, высматривая там нужные посты. И тут уютненькая преподнесла отличный подарок. Оказалось, что когда вы смотрите топ записей, сервер ЖЖ выдает их пачками по 500 штук, только показывает первые 25. Кроме того, выдача записей не зависит от того, личный вы смотрите топ, или чей-то еще. Фильтрация забаненых пользователей и скрытых записей производится на странице рейтинга а не на сервере.

В итоге, чтобы получить полный топ 2000 записей, нужно сделать всего 4 запроса типа:

http:// l-stat.livejournal.com/tools/endpoints/ratings.bml?callback=ratingsCache_#PageNumber#&homepage=0&sort=visitors&country=cyr&page=#PageNumber#&_=#UnixTimestamp#,

где #PageNumber# — номер страницы топа длинной в 500 записей, а #UnixTimestamp# — количество секунд, прошедшее с основания вселенной UNIX, то есть с первого января 1970-го года. И пробел после http:// надо убрать, я его поставил, чтобы текст не превратился в неполноценную ссылку.

Общий топ от личного отличается тем, что на странице полного общего рейтинга записей, и только на ней, в качестве #UnixTimestamp# всегда передается 0. То есть он отстает на максимальную глубину истории топа, которая равняется примерно 10-ти часам. Но поскольку на главной странице ЖЖ и на странице рейтингов параметры передаются правильно, и более того, абсолютно идентичные для общего топа и для частного (и ответ ничем не отличается), этой особенностью полного общего топа записей можно принебречь. Более того, по умолчанию, пользователь всегда видит личный топ (у которого с параметрами все нормально), что только придает веса нашему предположению не учитывать полный общий топ записей. Все равно его никто не смотрит.

PS. В предыдущем посте я писал, что будет мне наука не бежать впереди паровоза. Так вот выяснилось, что мои спринтерские характеристики тут ни при чем. Просто ЖЖ поменял формулу рассчета позиции поста в топе записей. Сразу после наших экспериментов, наглядно показавших, что главное — это сумма СК посмотревших запись пользователей. Из-за этого нам пришлось повторять все эксперименты заново. Дважды. А некоторые — трижды. Кроме того, мой прекрасный, многостраничный пост с результатами и доказательной базой стал неактуален. Пришлось писать новый. Скоро на ваших экранах, не переключайтесь.
Ну и ссылка для френжения, как всегда.

Buy for 100 tokens
Buy promo for minimal price.

  • 1
4strongman October 31st, 2012
секрет простой - живи в жж, каменть/пость, вливай бабло в промо - это путь к "успеху" ))

vmenshov October 31st, 2012
Согласен :) Однако хотелось бы все-таки понимать, как оно работает.

livejournal October 31st, 2012
Здравствуйте!
Ваша запись попала в топ-25 популярных записей LiveJournal. Подробнее о рейтинге читайте в Справке.

andrewshell October 31st, 2012
Бесполазно дергаться с "пониманием работы жж".
Особенно с такой командой участников.
Дронов всё равно сделает как им выгодно.
Как и в Мае всех надули так и далее будут делать под себя правила править.

vmenshov October 31st, 2012
Да у нас крутейшая команда, почему бесполезно-то?

pavel_arhiv October 31st, 2012
Простой вопрос. Туда попадают только платники?

maxi_funy October 31st, 2012
скорее те, кто "вливает" денег в публикации.

majorua October 31st, 2012
бесполезное занятие)

zorins October 31st, 2012
круть!
Правильно я понял, что можно получить ретро-топ, на любую дату и время?

sanmai October 31st, 2012
Нет. Это лишь такой хак против серверного кеша.

budan October 31st, 2012
То есть если автора читают вне жж, в топ пост может и не попадёт?

vmenshov October 31st, 2012
Если читают только вне ЖЖ, то гарантированно не попадет.

zilogic October 31st, 2012
Параметр callback=ratingsCache_#PageNumber# определяет имя JS процедуры, которая будет обрабатывать JSON на стороне клиента, т.е. туда можно писать что угодно.
Параметр _ нужен для "пробивания" кешей, т.е. на каждый запрос уникальный URL.
Это очевидно.
Параметр homepage определяет будут ли в рейтинге несколько записей из одного журнала или нет.
sort и country очевидны.

vmenshov October 31st, 2012
На счет колбэка ваша правда, на счет _ - нет. Меняете время, меняется и топ. Максимум на 10 часов назад можно вернутся.

(Deleted comment)
saga_zp October 31st, 2012
Я небольшое спец в программных премудростях, но ваши эксперименты мне нравятся и слежу за ними с большим интересом:-)

acer_leaf November 1st, 2012
Да, пост был конечно, - сказка!

  • 1