【超簡単‼】TwitterAPIを使って世界中のトレンドワードやトレンドのツイートをエクセルやCSVで一括取得する方法を解説‼

python
スポンサーリンク
スポンサーリンク

初めに

Twitterを使っていて、「ツイートを分析したいな」みたいなことを思ったことありませんか?

特に、世界中で、どういったツイートがトレンドになるのか」などを分析できると、人々の動向が統計的にわかるので、自分がツイートするときに非常に役立ちます‼

でも、これをいちいち手作業でやっていると、凄い手間と時間がかかり、非常に効率が悪いです。

ということで、今回は、TwitterAPI(Tweepy)を使って、ツイートを簡単に一覧で取得する方法を解説していきたいと思います‼

TwitterAPIを登録しよう‼

TwitterAPIに登録します。(Twitter社が公式で出しているので、怪しいやつではないです。)

↓登録方法についてはこちらの記事を参考に‼

正直言ってTwitterAPIの登録は少しめんどくさいです。

でも、昔よりも遥かに審査が簡単になっており、昔だったら1週間ぐらいかけて登録するものだったんですが、最近は1時間もかからず登録できます。

そして、API keyとAPI secret key、さらに、Access keyと、Access secret keyの4つのkeyを取得してください。

TwitterAPIに登録できたら、次は、プログラムで使うPythonをインストールする方法について解説していきたいと思います‼

(プログラミングと聞いて一見難しそうに思うかもしれませんが、とても簡単なので、安心してください。)

Pythonをインストールする

プログラムでは、プログラミング言語として、Pythonを使用します。(一見難しそうと思うかもしれませんが、実は超絶簡単です‼)

まだ、インストールしてない方は一瞬でできるので、インストールしてください‼

↓Pythonのインストール方法はこちら‼‼

ライブラリのインストール

次に、ライブラリをインストールしていきます。(ブラウザでいう拡張機能みたいなもの。)

コマンドプロンプトを開いて、「pip install tweepy pandas」と入力してEnterを押してください。

これで必要なライブラリのインストールは完了です。次は実際にプログラムを作っていきましょう‼

取得できる地域の表示するプログラムの作成

当たり前ですが、Twitterのトレンドワードは場所や地域によって全く違います。

なので、まずTwitterAPIでトレンドワードを取得できる地域を一覧表示するプログラムを作成します。

では、実際にプログラムを作っていきましょう‼

プログラムと聞くと難しそうだと思うかもしれませんが、コピペするだけなので簡単です。

まず、メモ帳を開いてください。

そして、次に紹介するプログラムをメモ帳にコピペします。

import tweepy
import pandas as pd
# 認証に必要なキーとトークン
#先ほど取得したものを入力

API_KEY = ''
API_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_TOKEN_SECRET = ''

# APIの認証
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

api = tweepy.API(auth)

k=api.available_trends()
for i in range(len(k)):
	if i>=1:
		df=pd.concat([df,pd.DataFrame(k[i])])
	else:
		df=pd.DataFrame(k[i])
df.to_csv('地域取得.csv')

メモ帳にコードを貼り付けます。

そして、「ctrl+s」をおして、下のような感じで保存します。(ファイル名の最後は、「.py」にしてください。)

これで、プログラムの作成は完了です。

プログラムを実行

それでは、次に先ほど作成したプログラムを実行していきたいと思います。

先ほどのファイルを保存したディレクトリに行って、アドレスバーのところに「cmd」と入力してEnterを押してください。

すると、コマンドプロンプトが起動すると思います。

そして、「python 地域取得.py」と入力して、Enterを押してください。

すると、先ほどのファイルが格納されたディレクトリに、下のように「地域取得.csv」が格納されていると思いますので、それを開いてみましょう‼

↓こんな感じで地域に対してWoeidが乗っているCSVファイルが作成されました‼

これで地域取得は完了です。

次はトレンドワードを取得していきましょう‼

トレンドワードを取得するプログラムの作成

次に、トレンドワードを取得するプログラムを作成する方法について解説します。

メモ帳に下のコードをコピペして、「トレンド取得.py」という名前で保存してください。

import tweepy
import pandas as pd
# 認証に必要なキーとトークン
#先ほど取得したものを入力

API_KEY = ''
API_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_TOKEN_SECRET = ''

# APIの認証
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

api = tweepy.API(auth)

#取得したい場所のWOEID
woeid = 23424856
#トレンド一覧取得
k = api.get_place_trends(woeid)
k=k[0]['trends']

for i in range(len(k)):
	if i>=1:
		df=pd.concat([df,pd.DataFrame([k[i]])])
	else:
		df=pd.DataFrame([k[i]])

df=df.set_index('name')
df.to_csv('trendwords.csv')

次に、先ほどと同様に、コマンドプロンプトに、「Python トレンド取得.py」と入力して実行してください。

そして、「トレンド取得.py」が格納されているディレクトリに行くと、下のように、「trendwords.csv」があると思うので、それを開いて中身を見てみましょう‼

↓中身を見てみると、こんな感じでプログラムを実行した時点のトレンドワード48個が取得されると思います。

気持ち悪い方すみません…

これでトレンドワードの取得ができました~

トレンドのツイートを取得する

トレンドワードに関係するツイートを取得したいという方は、ぜひ下の記事を参考にしてください。

もしうまくできなかったら

多分、記事に書いてある通りに実行したらエラーなくうまくいくはずなのですが、それでもエラーが出てくることはあります。

もし、エラーが出てきたり、わからない点などがあれば、記事の一番下のところにあるコメント欄で教えてください‼

※2,3日以内には返信できると思います。

付録:地域とWoeidの早見表

一応地域とWoeidの早見表を載せておきたいと思います。

namewoeid
Worldwide1
Winnipeg2972
Ottawa3369
Quebec3444
Montreal3534
Toronto4118
Edmonton8676
Calgary8775
Vancouver9807
Birmingham12723
Blackpool12903
Bournemouth13383
Brighton13911
Bristol13963
Cardiff15127
Coventry17044
Derby18114
Edinburgh19344
Glasgow21125
Hull25211
Leeds26042
Leicester26062
Liverpool26734
Manchester28218
Middlesbrough28869
Newcastle30079
Nottingham30720
Plymouth32185
Portsmouth32452
Preston32566
Sheffield34503
Stoke-on-Trent36240
Swansea36758
London44418
Belfast44544
Santo Domingo76456
Guatemala City83123
Acapulco110978
Aguascalientes111579
Chihuahua115958
Mexico City116545
Ciudad Juarez116556
Nezahualcóyotl116564
Culiacán117994
Ecatepec de Morelos118466
Guadalajara124162
Hermosillo124785
León131068
Mérida133327
Mexicali133475
Monterrey134047
Morelia134091
Naucalpan de Juárez134395
Puebla137612
Querétaro138045
Saltillo141272
San Luis Potosí144265
Tijuana149361
Toluca149769
Zapopan151582
Mendoza332471
Santiago349859
Concepcion349860
Valparaiso349861
Bogotá368148
Cali368149
Medellín368150
Barranquilla368151
Quito375732
Guayaquil375733
Caracas395269
Maracaibo395270
Maracay395271
Valencia395272
Barcelona395273
Ciudad Guayana395275
Turmero395277
Lima418440
Brasília455819
Belém455820
Belo Horizonte455821
Curitiba455822
Porto Alegre455823
Recife455824
Rio de Janeiro455825
Salvador455826
São Paulo455827
Campinas455828
Fortaleza455830
Goiânia455831
Manaus455833
São Luís455834
Guarulhos455867
Córdoba466861
Rosario466862
Barquisimeto468382
Maturín468384
Buenos Aires468739
Gdańsk493417
Kraków502075
Lodz505120
Poznań514048
Warsaw523920
Wroclaw526363
Vienna551801
Cork560472
Dublin560743
Galway560912
Bordeaux580778
Lille608105
Lyon609125
Marseille610264
Montpellier612977
Nantes613858
Paris615702
Rennes619163
Strasbourg627791
Toulouse628886
Berlin638242
Bremen641142
Dortmund645458
Dresden645686
Dusseldorf646099
Essen648820
Frankfurt650272
Hamburg656958
Cologne667931
Leipzig671072
Munich676757
Stuttgart698064
Bologna711080
Genoa716085
Milan718345
Naples719258
Palermo719846
Rome721943
Turin725003
Den Haag726874
Amsterdam727232
Rotterdam733075
Utrecht734047
Barcelona753692
Bilbao754542
Las Palmas764814
Madrid766273
Malaga766356
Murcia768026
Palma769293
Seville774508
Valencia776688
Zaragoza779063
Geneva782538
Lausanne783058
Zurich784794
Brest824382
Grodno825848
Gomel825978
Minsk834463
Riga854823
Bergen857105
Oslo862592
Gothenburg890869
Stockholm906057
Dnipropetrovsk918981
Donetsk919163
Kharkiv922137
Kyiv924938
Lviv924943
Odesa929398
Zaporozhye939628
Athens946738
Thessaloniki963291
Bekasi1030077
Depok1032539
Pekanbaru1040779
Surabaya1044316
Makassar1046138
Bandung1047180
Jakarta1047378
Medan1047908
Palembang1048059
Semarang1048324
Tangerang1048536
Singapore1062617
Perth1098081
Adelaide1099805
Brisbane1100661
Canberra1100968
Darwin1101597
Melbourne1103816
Sydney1105779
Kitakyushu1110809
Saitama1116753
Chiba1117034
Fukuoka1117099
Hamamatsu1117155
Hiroshima1117227
Kawasaki1117502
Kobe1117545
Kumamoto1117605
Nagoya1117817
Niigata1117881
Sagamihara1118072
Sapporo1118108
Sendai1118129
Takamatsu1118285
Tokyo1118370
Yokohama1118550
Goyang1130853
Yongin1132094
Ansan1132444
Bucheon1132445
Busan1132447
Changwon1132449
Daegu1132466
Gwangju1132481
Incheon1132496
Seongnam1132559
Suwon1132567
Ulsan1132578
Seoul1132599
Kajang1141268
Ipoh1154679
Johor Bahru1154698
Klang1154726
Kuala Lumpur1154781
Calocan1167715
Makati1180689
Pasig1187115
Taguig1195098
Antipolo1198785
Cagayan de Oro1199002
Cebu City1199079
Davao City1199136
Manila1199477
Quezon City1199682
Zamboanga City1199980
Bangkok1225448
Hanoi1236594
Hai Phong1236690
Can Tho1252351
Da Nang1252376
Ho Chi Minh City1252431
Algiers1253079
Accra1326075
Kumasi1330595
Benin City1387660
Ibadan1393672
Kaduna1396439
Kano1396803
Lagos1398823
Port Harcourt1404447
Giza1521643
Cairo1521894
Alexandria1522006
Mombasa1528335
Nairobi1528488
Durban1580913
Johannesburg1582504
Port Elizabeth1586614
Pretoria1586638
Soweto1587677
Cape Town1591691
Medina1937801
Dammam1939574
Riyadh1939753
Jeddah1939873
Mecca1939897
Sharjah1940119
Abu Dhabi1940330
Dubai1940345
Haifa1967449
Tel Aviv1968212
Jerusalem1968222
Amman1968902
Chelyabinsk1997422
Khabarovsk2018708
Krasnodar2028717
Krasnoyarsk2029043
Samara2077746
Voronezh2108210
Yekaterinburg2112237
Irkutsk2121040
Kazan2121267
Moscow2122265
Nizhny Novgorod2122471
Novosibirsk2122541
Omsk2122641
Perm2122814
Rostov-on-Don2123177
Saint Petersburg2123260
Ufa2124045
Vladivostok2124288
Volgograd2124298
Karachi2211096
Lahore2211177
Multan2211269
Rawalpindi2211387
Faisalabad2211574
Muscat2268284
Nagpur2282863
Lucknow2295377
Kanpur2295378
Patna2295381
Ranchi2295383
Kolkata2295386
Srinagar2295387
Amritsar2295388
Jaipur2295401
Ahmedabad2295402
Rajkot2295404
Surat2295405
Bhopal2295407
Indore2295408
Thane2295410
Mumbai2295411
Pune2295412
Hyderabad2295414
Bangalore2295420
Chennai2295424
Mersin2323778
Adana2343678
Ankara2343732
Antalya2343733
Bursa2343843
Diyarbakır2343932
Eskişehir2343980
Gaziantep2343999
Istanbul2344116
Izmir2344117
Kayseri2344174
Konya2344210
Okinawa2345896
Daejeon2345975
Auckland2348079
Albuquerque2352824
Atlanta2357024
Austin2357536
Baltimore2358820
Baton Rouge2359991
Birmingham2364559
Boston2367105
Charlotte2378426
Chicago2379574
Cincinnati2380358
Cleveland2381475
Colorado Springs2383489
Columbus2383660
Dallas-Ft. Worth2388929
Denver2391279
Detroit2391585
El Paso2397816
Fresno2407517
Greensboro2414469
Harrisburg2418046
Honolulu2423945
Houston2424766
Indianapolis2427032
Jackson2428184
Jacksonville2428344
Kansas City2430683
Las Vegas2436704
Long Beach2441472
Los Angeles2442047
Louisville2442327
Memphis2449323
Mesa2449808
Miami2450022
Milwaukee2451822
Minneapolis2452078
Nashville2457170
New Haven2458410
New Orleans2458833
New York2459115
Norfolk2460389
Oklahoma City2464592
Omaha2465512
Orlando2466256
Philadelphia2471217
Phoenix2471390
Pittsburgh2473224
Portland2475687
Providence2477058
Raleigh2478307
Richmond2480894
Sacramento2486340
St. Louis2486982
Salt Lake City2487610
San Antonio2487796
San Diego2487889
San Francisco2487956
San Jose2488042
Seattle2490383
Tallahassee2503713
Tampa2503863
Tucson2508428
Virginia Beach2512636
Washington2514815
Osaka15015370
Kyoto15015372
Delhi20070458
United Arab Emirates23424738
Algeria23424740
Argentina23424747
Australia23424748
Austria23424750
Bahrain23424753
Belgium23424757
Belarus23424765
Brazil23424768
Canada23424775
Chile23424782
Colombia23424787
Denmark23424796
Dominican Republic23424800
Ecuador23424801
Egypt23424802
Ireland23424803
France23424819
Ghana23424824
Germany23424829
Greece23424833
Guatemala23424834
Indonesia23424846
India23424848
Israel23424852
Italy23424853
Japan23424856
Jordan23424860
Kenya23424863
Korea23424868
Kuwait23424870
Lebanon23424873
Latvia23424874
Oman23424898
Mexico23424900
Malaysia23424901
Nigeria23424908
Netherlands23424909
Norway23424910
New Zealand23424916
Peru23424919
Pakistan23424922
Poland23424923
Panama23424924
Portugal23424925
Qatar23424930
Philippines23424934
Puerto Rico23424935
Russia23424936
Saudi Arabia23424938
South Africa23424942
Singapore23424948
Spain23424950
Sweden23424954
Switzerland23424957
Thailand23424960
Turkey23424969
United Kingdom23424975
Ukraine23424976
United States23424977
Venezuela23424982
Vietnam23424984
Petaling56013632
Hulu Langat56013645
Ahsa56120136
Okayama90036018

終わりに

いかがでしたか。

Twitterのトレンドのワードを簡単に一括で取得することができて、人々の傾向を統計的に分析できますね。

ほかにも面白い記事たくさんありますので、ほかの記事も一緒に見ていただければ嬉しいです。

それでは次の記事で‼

プロフィール

この記事を書いた人
tisikinohako

数学とプログラミングが得意な現役中学生。FXの月最高利回りは30%。このブログの情報が少しでも役に立てれば嬉しいです。