search
LoginSignup
3
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

MYJLab Advent Calendar 2020 Day 17

posted at

updated at

17行でTwitterのトレンドを取得する

最近は寒くなってきたので暖房をつけ始めました。

目標

アドベントカレンダー17日目ということで、何かと話のきっかけになるTwitterのトレンドも17行で取得したいと思います。

環境

Python 3.9.1

準備

①tweepyのインストール

pip install tweepy

②Twitter APIの認証コードの取得

下のサイトが分かりやすいのでお勧めです。
Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ ※2019年8月時点の情報

実装

日本のTwitterのトレンドを50位まで表示します。

コード全体

trend.py
import tweepy
import random

CK="取得したConsumer Key"
CS="取得したConsumer Secret"
AT="取得したAccess Token"
AS="取得したAccess Token Secret"

auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)
api = tweepy.API(auth)

woeid = {
    "日本": 23424856
}

for area, wid in woeid.items():
    print("--- {} ---".format(area))
    trends = api.trends_place(wid)[0]
    for i, content in enumerate(trends["trends"]):
        print(i+1, content['name'])

解説

ここに、Twitter Developerのページで取得したTwitter APIの認証コードを入れます。

CK="取得したConsumer Key"
CS="取得したConsumer Secret"
AT="取得したAccess Token"
AS="取得したAccess Token Secret"

tweet範囲の設定

woeid = {
    "日本": 23424856
}

結果

できました

$ python trend.py
--- 日本 ---
1 #あいつ今何してる
2 ヴリトラ
3 #にじホロ宇宙人狼
4 福原くん
5 #kuizy
6 #あなたの苦手なタイプの人間を診断
7 #三代目クリパするよ全員集合
8 梅ちゃん
9 ベストナイン
10 リア充カップル
11 ヤバめ地雷人間
12 ウェイ系陽キャ
13 根暗コミュ障
14 アランバローズ
15 スピナー
16 声の小ささ
17 存在感の薄さ
18 ガチの陰キャ
19 あがり症
20 十文字槍
21 全日本2歳優駿
22 梅原さん
23 ARASHI Widget
24 nanaoさん
25 寮母さん
26 真田の槍
27 ボクサー
28 クリスマスリリィ
29 マルタさん
30 GoToイベント
31 新刀剣男士
32 私のスコア
33 デュアリスト
34 梅原裕一郎
35 莉犬くん
36 マイナカード
37 三枝明那
38 角田裕毅
39 横浜流星
40 リリィちゃん
41 対象小中学生
42 福原さん
43 ランリョウオー
44 俳優部門
45 公立小学校
46 ルーチェドーロ
47 嵐ウィジェット
48 全学年35人学級
49 運動能力テスト
50 丸ちゃん

参考

Tweepyドキュメント

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3
Help us understand the problem. What are the problem?