Which active accounts do my follower follow that I'm not following?

in #follower6 years ago (edited)

I'm always looking for interesting accounts to follow. I want to know which accounts do my followed accounts following? As I'm only interested in active accounts (posted in the last 30 days), I will limit the search to active accounts.

from beem.account import Account
from beem.nodelist import NodeList
from beem import Steem
from beem.utils import addTzInfo
from datetime import datetime


if __name__ == "__main__":
    nodes = NodeList()
    nodes.update_nodes()
    node_list = nodes.get_nodes(normal=False, appbase=True)
    stm = Steem(node=node_list, num_retries=5, call_num_retries=3, timeout=15)
    
    following_1 = Account("holger80", steem_instance=stm).get_following()
    following_2 = []
    following_1_cnt = {}
    following_2_cnt = {}

    cnt = 0
    for a in following_1:
        cnt += 1
        try:
            acc = Account(a, steem_instance=stm)
        except:
            continue
        count = acc.get_follow_count()
        if count["following_count"] > 5000:
            print("skipping %s as following_count to huge (%d)" % (acc["name"], count["following_count"]))
            continue
        new_list = acc.get_following(limit=1000)
        for n in new_list:
            if n not in following_1 + following_2:
                following_2.append(n)

            if n in following_1:
                if n in following_1_cnt:
                    following_1_cnt[n] += 1
                else:
                    following_1_cnt[n] = 1
            if n in following_2:
                if n in following_2_cnt:
                    following_2_cnt[n] += 1
                else:
                    following_2_cnt[n] = 1                
        if cnt % 100 == 0:
            print("2. degree following added %s (len %d), %d/%d" % (a, len(following_2), cnt, len(following_1)))

    following_1_cnt_list = []
    for n in following_1_cnt:
        try:
            f = Account(n, steem_instance=stm)
            last_post = (addTzInfo(datetime.utcnow()) - (f["last_root_post"])).total_seconds() / 60 / 60 / 24
            if last_post < 30:
                following_1_cnt_list.append({"name": n, "cnt": following_1_cnt[n], "last_post": last_post})
        except:
            continue
    following_2_cnt_list = []
    for n in following_2_cnt:
        try:
            f = Account(n, steem_instance=stm)
            last_post = (addTzInfo(datetime.utcnow()) - (f["last_root_post"])).total_seconds() / 60 / 60 / 24
            if last_post < 30:
                following_2_cnt_list.append({"name": n, "cnt": following_2_cnt[n], "last_post": last_post})
        except:
            continue
    sorted_list_1 =  sorted(following_1_cnt_list, key=lambda x: x['cnt'], reverse=True)
    sorted_list_2 =  sorted(following_2_cnt_list, key=lambda x: x['cnt'], reverse=True)
    
    print("| type | acounts | active accounts |")
    print("| --- | --- | --- |")
    print("| my followings | %d | %d |" % (len(following_1), len(following_1_cnt_list)))
    print("| followings of my followings | %d | %d |"% (len(following_2), len(following_2_cnt_list)))
    
    print("| followed count | account | last post [days] |")
    print("| --- | --- | --- |")
    for a in sorted_list_2[:25]:
        print("| %d | %s | %.2f |" % (a["cnt"], a["name"], a["last_post"]))

Results

typeacountsactive accounts
my followings215157
followings of my followings309518873

I follow 215 accounts from which 157 posts during the last 30 days. The unique count of all accounts that my followings follow is 30951. 8873 (28.7 %) accounts are active.

Let's see which active accounts that I'm currently not following are followed most often by my followings:

followed countaccountlast post [days]
75good-karma3.71
71roelandp6.32
70aggroed0.75
60blocktrades19.85
59kevinwong17.31
58reggaemuffin9.56
57kingscrown0.15
50drakos12.61
49officialfuzzy3.29
47klye7.43
45flauwy0.34
45holger802.44
44inertia0.52
44papa-pepper0.08
43gavvet0.56
43minnowbooster2.97
42fabien21.68
42jerrybanfield1.78
41abit21.25
41dollarvigilante1.48
41heiditravels3.66
41neoxian2.34
41rok-sivante1.24
39hilarski0.28
39nanzo-scoop0.94

So I have 25 new accounts to check out. Seems that I missed a lot of interesting accounts.


When you also want to see these both tables for your account, leave a comment and I will post the results for your account as reply.

Sort:  

How about that @holger80? Did you check him out?

fuzzy is the whaleshares guy, he was the first whale I interacted with, seems like a good guy

flauwy I am getting to know from tribesteemup :-)

Mostly great steemians here, they're all large accounts though, don;t forget to give love to small accounts.

Giving love to small accounts is a good idea, I will think about a way to discover them.

One should always follow itself!

:)

Holger80 is especially interesting, but following him might not work very well for you.

I'm surprised you don't have more than 45 mutual follows.

That's true.
I considered only my active followings. 28.7% of my active followings are following me back, that' sounds quite fine for me.

Would love to have the first table for my account to. Thanks in advance. :)

Most of the mentioned accounts are unknown to me either. Others seem not to be displayed in my timeline.

I am currently running the script for your account, but it takes quite a lot of time, so you'll probably have to wait a bit more until you get results, but it is running ;)

Kein Problem!
Vielen vielen Dank!

Loading...

This post has been just added as new item to timeline of beem on Steem Projects.

If you want to be notified about new updates from this project, register on Steem Projects and add beem to your favorite projects.

Check my account please! Thanks

Loading...

Interesting! Now I love to see mine. My guess is it's probably the top 20 witnesses as I'm not following most of them :)

Posted using Partiko Android

Loading...

Coole Sache, ich waere interessiert 😎

When you also want to see these both tables for your account, leave a comment and I will post the results for your account as reply.

Loading...

Hi @holger80!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 5.658 which ranks you at #437 across all Steem accounts.
Your rank has improved 6 places in the last three days (old rank 443).

In our last Algorithmic Curation Round, consisting of 434 contributions, your post is ranked at #55.

Evaluation of your UA score:
  • You've built up a nice network.
  • The readers like your work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server