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

技術屋の末端。プログラミングも電気回路も専門外です。 コードに間違いなど見つけられたら、気軽にコメントください。 VC#、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