schegloff ([info]schegloff) wrote,
@ 2006-10-05 23:24:00


2 replies, 2 authors
Entry tags:СГО полезняшки

Есть ли смысл в перепостинге? - Программка
Сначала пример того, что программа делает:

How many NEW lj-user read news, if I repost it from lj-user: krylov
Readers of krylov: 2163
Readers of my LJ: 261
NEW readers: 217

Repost add 10.0323624595%

О полезности такой штуки я писал несколько записей назад: она позволяет определить, насколько Вы сможете увеличить аудиторию потенциальных (не все же сидят во френд-ленте безвылазно) читателей показавшейся Вам важной новости, перепостив ее от ЖЖ-юзера, у которого Вы ее встретили. Померяв "информационный мультипликатор" от Крылова к Щеглову, я получил целых 10% - так что, уважаемые френды, как только увижу у [info]krylov что-то полезное, сразу перетащу в свой журнал :)

Ну а теперь сама программка. Питонистам просьба смотреть сквозь пальцы, не-питонистам - установить себе Питон версии 2.4.3, взяв его отсюда. Судя вот по этой выразительной записи (это почти все, что я разыскал по Питону в ЖЖ!!!), у этого языка большое будущее, так что не пожалеете.

# Change base_user to YOU lj-name!
base_user = "schegloff"
test_user = raw_input("How many NEW lj-user read news, if I repost it from lj-user: ")

# Get a user-frieds list for base & test users
import urllib
s_base = urllib.urlopen("http://www.livejournal.com/misc/fdata.bml?user="+base_user).read()
s_test = urllib.urlopen("http://www.livejournal.com/misc/fdata.bml?user="+test_user).read()

# Form a reader-list for base & test users
l_base = s_base.splitlines()
l_test = s_test.splitlines()
l_b = list()
l_t = list()
for s in l_base :
    if len(s) > 0 and s[0] == "<" :
        l_b.append(s[2:])
for s in l_test :
    if len(s) > 0 and s[0] == "<" :
        l_t.append(s[2:])

# Form a reader-base & not-reader-test list
l_bt = list()
for s in l_b :
    if s not in l_t :
        l_bt.append(s)

print "Readers of "+test_user+": " + str(len(l_t))
print "Readers of my LJ: " + str(len(l_b))
print "NEW readers: " + str(len(l_bt))
print ""
print "Repost add " + str(100*float(len(l_bt))/len(l_t))+"%"
print ""
s = raw_input("... PRESS ENTER ...")



[info]anton_y_k
2006-10-05 10:26 pm UTC (link)
Написал, большой (как для меня) пост по СГО. Только warning: там много корявостей (пока), есть целый ряд логических ляпов, поэтому просьба особенно не ругаться ;-)

(Reply to this)


[info]_iga
2006-10-18 11:40 pm UTC (link)
Язык отличный.

(Reply to this)