プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

Twitterで趣味の似た人を探す

f:id:s51517765:20180103100052j:plain
【画像は趣味のイメージで内容とは特に関係ありません。】

Pythonで趣味の似た人を探すツールを作成しました。
Twitterの”おすすめユーザー”もありますが。
f:id:s51517765:20171118171437j:plain

def serch_new_friend():
 new_friend={}
    keywordlist=['電子工作','ラズパイ','アルディーノ','プログラミング']
    for keyword in keywordlist:
        print(keyword)
        for tweet in api.search(q=keyword, count=200):  # 検索
            if not tweet.user.screen_name in follower: #フォローのList
                if tweet.user.screen_name in new_friend:
                    new_friend[tweet.user.screen_name] += 1
                else:
                    new_friend[tweet.user.screen_name]=1
    for k, v in sorted(new_friend.items(), key=lambda x: -x[1]): #降順ソート
        if v!=1:
            print(str(k) + ": " + str(v))

keywordlistに自分の気になるキーワードを登録し、twitter検索でヒットしたアカウントを辞書(dictiorary)にカウントしていきます。ここでは、キーワードのListは一部省略しています。自分で考えてください。
すでにフォローしているひとは除外します。
twitterの検索はtweepyを利用しています。
フォローのリストはあらかじめ作成しておきます。
s51517765.hatenadiary.jp

辞書はすでにキーがあればカウントを+=1し、なければキーを作成します。
辞書のカウントでソートし、1度しかでてこないアカウントが大量に発生するので、カウントが1のものは除外してprintしました。
ソートした後は、辞書型として使えなくなります。

↓抽出結果例

072_pro: 13
l693g: 5
A7075duralumin: 4
I_HaL: 4
negiiiiii_0xFFF: 4
kentohmm265: 3
neno_n0: 3
Engineerism: 3
mushroom080: 3
rockin_keep: 3
arigayas: 3
progblues: 2
fernyiges: 2
okanao_robot: 2
deluwater: 2
dictators_circ1: 2
arkanal1: 2
kumokosi: 2
PA_information: 2
nomnom3939: 2
miwakuna: 2
hackshone: 2
ieeeic: 2
koron_bike: 2
sm58s: 2
chibaf: 2
zeus3110: 2
AGE43: 2
mascii_k: 2
Katase_sui: 2
IngaSakimori: 2
kazuki13gata: 2
kick_the_blues: 2
zarusoba44: 2
0hukurou0: 2
komegmi: 2
0209KaGaChi: 2
club_are: 2
momotarou_625: 2
ugokazarukoto11: 2
jyomu__: 2
SearEclair: 2
ITpassport_bot5: 2
G_Myake: 2
hisshi_bot: 2
soralis_nem: 2
DaraUmisuke: 2
omae_source_bot: 2
r4tk: 2
jeffi7: 2
herpuretears: 2
mUc3LS4p0JzNeae: 2
funuu: 2
solgrapher: 2
NEWBOOKINFO: 2
NekoAntarctica: 2
Space_kid_Jr: 2
jaialkdanel: 2