SlideShare a Scribd company logo
1 of 17
Download to read offline
[Python × TwitterAPI]
日本のトレンドを取得してみた!
株式会社ラクス
楽楽販売開発課
高山 大貴
自己紹介
2
氏名:高山 大貴(タカヤマ ダイキ)
出身:長崎県
所属:株式会社ラクス
楽楽販売開発課(新卒1年目)
趣味:古着、映画鑑賞、読書、散歩
主に使う言語:
PHP(業務)
Python(趣味)
Twitter:@daiKi_ToT
目次
3
● 経緯
● TwitterAPIに利用申請を出し、KEYとTOKENを取得
● 地域トレンド取得
○ APIにアクセス
○ WOEIDをセットして、トレンドの一覧を取得
経緯
4
目的:Twitter API を使って地域別にトレンドを取得してみる
きっかけ:Twittrend(ついっトレンド)
というTwitterのトレンドを各地域ごとにまとめているWebサイト
どうやって情報をとってきているのか気になった
Twitter API に利用
申請を出す
1
5
TwitterAPIに利用申請
6
以下のURLから利用申請できる
https://developer.twitter.com/en/apps  
色々質問される
● Twitterアカウント情報(事前にアカウントが必要)
● 利用用途(英語500文字以上)
● 作成するアプリはツイート、リツイートなどの昨日を有するか?
(英語)
TwitterAPIに利用申請
7
● うまく登録できたら以下のKey/Token
をメモ(後で使う)
○ API Key
○ API Key Secret
○ Access Token
○ Access Token Secret
地域のトレンドを
取得
2
8
地域のトレンド取得
9
使用する言語:Python
a. 【事前準備】今回使用するライブラリをインポートしておく
ライブラリ名 使用用途
tweepy Twitter APIを利用した操作を簡略化
pandas APIから受け取った情報を csvデータ出力するために使用
% pip install tweepy
% pip install pandas
地域のトレンド取得
10
b. Twitter API のアクセス認証
● tweepy を使用してapiにアクセス
● tweepy.API(auth) でOAuth認証
"""
tweepy 設定
"""
# OAuthHandler インスタンス生成
auth = tweepy.OAuthHandler(API_KEY,API_KEY_SECRET
)
# アクセストークン設定(
API Token,API Token Secret
)
auth.set_access_token
(TOKEN, TOKEN_SECRET)
"""
apiにアクセス
(wait_on_rate_limit = True)
万が一利用制限に引っ掛かったら必要時間待機する
"""
api = tweepy.API(auth ,wait_on_rate_limit = True)
地域のトレンド取得
11
c. 地域別のトレンド取得
● WOEID(Where On Earth IDentifier)を活用
● 世界の国・都市(467箇所)にIDを割り振っている
(日本は21種類!)
● tweepy のavailable_trends() で世界中のwoeid の
リストを取得
今回は試しに日本・東京・大阪のトレンドを取得してみる
# 世界中のwoeid を取得
for woeid in
api.available_trends():
print(woeid)
# 日本、大阪、東京
woeids = {
'JAPAN' : 23424856,
'OSAKA' : 15015370,
'TOKYO' : 1118370
}
地域のトレンド取得
12
c. 地域トレンド取得
● get_place_trends (woeid):
引数に指定した地域のトレンド
をランキング順に辞書型で渡す
(上位50件)
● 整形しないと何がなんなのかよくわからない
for key,woeid in woeids.items():
# トレンド情報を取得
trends = api.get_place_trends (woeid)
pprint.pprint (trends)
地域のトレンド取得
13
d. 取得したデータをcsvに出力
● pandas を使用すると簡単
● 辞書型で受け取ったトレンドデータを
DataFrame型に変換
● csvファイルに出力
for key,woeid in woeids.items():
# トレンド情報を取得
trends = api.get_place_trends (woeid)
pprint.pprint (trends)
# pandas データフレームに変換
df = pd.DataFrame(trends[0]["trends"])
FILE_NAME = 'tw_trends_' + key +'.csv'
df.index = df.index + 1
# csvファイルを出力
df.to_csv(FILE_NAME,encoding =
'utf-8-sig' ,index = True)
地域のトレンド取得
14
● 実行結果(実行日:⅜ 08:45) 日本のトレンド
● DataFrame 型に整形することで、辞書型のkey が列名、行のインデックスを自
動で割り振り
↓辞書型のキー
→
イン
デッ
クス
地域のトレンド取得
15
● 実行結果(実行日:⅜ 08:45)
日本のトレンド
念の為ブラウザと比較
完全に
一致!!
今後の展望
16
高山⇦ ニュースを見ない
Bot化して、その日のトレンドを勝手に教えて欲しい!!
17
ご静聴ありがとうございました

More Related Content

What's hot

Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lttorisoup
 
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundleYusuke HIDESHIMA
 
실무에서 활용하는 A/B테스트
실무에서 활용하는 A/B테스트실무에서 활용하는 A/B테스트
실무에서 활용하는 A/B테스트JeongMin Kwon
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 Yugo Shimizu
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜Hideki Takase
 
通信対戦ゲームを作った話
通信対戦ゲームを作った話通信対戦ゲームを作った話
通信対戦ゲームを作った話mipsparc
 
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기Hyunjung Kim
 
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정PAP (Product Analytics Playground)
 
[메조미디어] Media&Market Report_2024.01
[메조미디어] Media&Market Report_2024.01[메조미디어] Media&Market Report_2024.01
[메조미디어] Media&Market Report_2024.01MezzoMedia
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころTakayuki Shimizukawa
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기강 민우
 
[중소기업청]두꺼비세상 소개서
[중소기업청]두꺼비세상 소개서[중소기업청]두꺼비세상 소개서
[중소기업청]두꺼비세상 소개서startupkorea
 
NDC16 스매싱더배틀 1년간의 개발일지
NDC16 스매싱더배틀 1년간의 개발일지NDC16 스매싱더배틀 1년간의 개발일지
NDC16 스매싱더배틀 1년간의 개발일지Daehoon Han
 
コンテンツサンプルを楽しむ"超"初心者の為のNiagara
コンテンツサンプルを楽しむ"超"初心者の為のNiagaraコンテンツサンプルを楽しむ"超"初心者の為のNiagara
コンテンツサンプルを楽しむ"超"初心者の為のNiagarahistoria_Inc
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!エピック・ゲームズ・ジャパン Epic Games Japan
 
제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업구회 연
 
aboutDEXCS2022-OF.pdf
aboutDEXCS2022-OF.pdfaboutDEXCS2022-OF.pdf
aboutDEXCS2022-OF.pdfEtsuji Nomura
 
ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話Tomioka Yusei
 
楽天における機械学習アルゴリズムの活用
楽天における機械学習アルゴリズムの活用楽天における機械学習アルゴリズムの活用
楽天における機械学習アルゴリズムの活用Rakuten Group, Inc.
 

What's hot (20)

Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
 
실무에서 활용하는 A/B테스트
실무에서 활용하는 A/B테스트실무에서 활용하는 A/B테스트
실무에서 활용하는 A/B테스트
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
 
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
 
通信対戦ゲームを作った話
通信対戦ゲームを作った話通信対戦ゲームを作った話
通信対戦ゲームを作った話
 
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
 
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
 
[메조미디어] Media&Market Report_2024.01
[메조미디어] Media&Market Report_2024.01[메조미디어] Media&Market Report_2024.01
[메조미디어] Media&Market Report_2024.01
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
 
[중소기업청]두꺼비세상 소개서
[중소기업청]두꺼비세상 소개서[중소기업청]두꺼비세상 소개서
[중소기업청]두꺼비세상 소개서
 
NDC16 스매싱더배틀 1년간의 개발일지
NDC16 스매싱더배틀 1년간의 개발일지NDC16 스매싱더배틀 1년간의 개발일지
NDC16 스매싱더배틀 1년간의 개발일지
 
コンテンツサンプルを楽しむ"超"初心者の為のNiagara
コンテンツサンプルを楽しむ"超"初心者の為のNiagaraコンテンツサンプルを楽しむ"超"初心者の為のNiagara
コンテンツサンプルを楽しむ"超"初心者の為のNiagara
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
 
제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업
 
aboutDEXCS2022-OF.pdf
aboutDEXCS2022-OF.pdfaboutDEXCS2022-OF.pdf
aboutDEXCS2022-OF.pdf
 
ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話ぷちコン作品を4日で作った話
ぷちコン作品を4日で作った話
 
楽天における機械学習アルゴリズムの活用
楽天における機械学習アルゴリズムの活用楽天における機械学習アルゴリズムの活用
楽天における機械学習アルゴリズムの活用
 

Similar to Twitter apiを使って地域別のトレンドを取得する!

Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Ai Makabi
 
PyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LTPyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LTTetsuya Morimoto
 
Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk Katayanagi Nobuko
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5Takeshi Akutsu
 
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化Yutaka Kato
 
Py datameetup1
Py datameetup1Py datameetup1
Py datameetup1shiroyagi
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Kimikazu Kato
 
Ruby開発の現場を支える技術
Ruby開発の現場を支える技術Ruby開発の現場を支える技術
Ruby開発の現場を支える技術hiroponz
 
Demonstration of Einstein Language with Platform Event
Demonstration of Einstein Language with Platform EventDemonstration of Einstein Language with Platform Event
Demonstration of Einstein Language with Platform EventTakahito Miyamoto
 
RFinanceJはじめました
RFinanceJはじめましたRFinanceJはじめました
RFinanceJはじめましたNagi Teramo
 
HTML5でteratailが喋った!
HTML5でteratailが喋った!HTML5でteratailが喋った!
HTML5でteratailが喋った!Shohei Tai
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Koji Shiraishi
 
アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編印鑰 智哉 INYAKU Tomoya
 
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto191208 python-kansai-nishimoto
191208 python-kansai-nishimotoTakuya Nishimoto
 
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)株式会社MonotaRO Tech Team
 
DevRel Meetup27 Igarashi-pub
DevRel Meetup27 Igarashi-pubDevRel Meetup27 Igarashi-pub
DevRel Meetup27 Igarashi-pubTomohiro Igarashi
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17Shinya Okano
 
鳥取python勉強会 第1回
鳥取python勉強会 第1回鳥取python勉強会 第1回
鳥取python勉強会 第1回Yuji Oyamada
 
Raspberry PiとPythonでできること
Raspberry PiとPythonでできることRaspberry PiとPythonでできること
Raspberry PiとPythonでできることLina Katayose
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpTakeshi Komiya
 

Similar to Twitter apiを使って地域別のトレンドを取得する! (20)

Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
PyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LTPyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LT
 
Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
 
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
 
Py datameetup1
Py datameetup1Py datameetup1
Py datameetup1
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
Ruby開発の現場を支える技術
Ruby開発の現場を支える技術Ruby開発の現場を支える技術
Ruby開発の現場を支える技術
 
Demonstration of Einstein Language with Platform Event
Demonstration of Einstein Language with Platform EventDemonstration of Einstein Language with Platform Event
Demonstration of Einstein Language with Platform Event
 
RFinanceJはじめました
RFinanceJはじめましたRFinanceJはじめました
RFinanceJはじめました
 
HTML5でteratailが喋った!
HTML5でteratailが喋った!HTML5でteratailが喋った!
HTML5でteratailが喋った!
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
 
アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編
 
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto191208 python-kansai-nishimoto
191208 python-kansai-nishimoto
 
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
Pythonエンジニアの最適なキャリアを考える (PyCon JP 2016 ジョブフェア LT)
 
DevRel Meetup27 Igarashi-pub
DevRel Meetup27 Igarashi-pubDevRel Meetup27 Igarashi-pub
DevRel Meetup27 Igarashi-pub
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
鳥取python勉強会 第1回
鳥取python勉強会 第1回鳥取python勉強会 第1回
鳥取python勉強会 第1回
 
Raspberry PiとPythonでできること
Raspberry PiとPythonでできることRaspberry PiとPythonでできること
Raspberry PiとPythonでできること
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
 

Twitter apiを使って地域別のトレンドを取得する!