Twitter APIをPythonでいじってみた
16334 ワード
はじめに
Twitter APIをPythonでいじってみました。具体的には、タイムラインと検索結果の取得と表示です。
コード
twapi_timeline.py
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import json
from datetime import datetime
CK = '************************'# Consumer Key
CS = '************************'# Consumer Secret
AT = '************************'# Access Token
AS = '************************'# Accesss Token Secert
# OAuth で GET
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.get(timeline_url, params = params)
# タイムライン取得用のURL
timeline_url = "https://api.twitter.com/1.1/statuses/home_timeline.json"
params = {"count": 20}
if req.status_code != 200:
print ("Error: %d" % req.status_code)
# レスポンスはJSON形式なので parse する
tweets = json.loads(req.text)
for i, tweet in enumerate(tweets):
tweet_id = tweet[u'id_str']
text = tweet[u'text']
created_at = tweet[u'created_at']
user_id = tweet[u'user'][u'id_str']
user_description = tweet[u'user'][u'description']
screen_name = tweet[u'user'][u'screen_name']
user_name = tweet[u'user'][u'name']
print("tweet_id:", tweet_id)
print("text:", text)
print("created_at:", created_at)
print("user_id:", user_id)
print("user_desc:", user_description)
print("screen_name:", screen_name)
print("user_name:", user_name)
print('\n')
print('取得したtweet数:',len(tweets))
# API残り
limit = req.headers['x-rate-limit-remaining']
# API制限の更新時刻 (UNIX time)
reset = int(req.headers['x-rate-limit-reset'])
print ("API remain: " + limit)
print ("API reset: " + str(datetime.fromtimestamp(reset)))
twapi_search.py
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import json
from datetime import datetime
CK = '************************'# Consumer Key
CS = '************************'# Consumer Secret
AT = '************************'# Access Token
AS = '************************'# Accesss Token Secert
# OAuth で GET
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.get(search_url, params = params)
# 検索結果取得用のURL
search_url = "https://api.twitter.com/1.1/search/tweets.json"
params = {
"q": u'bitcoin',
"lang": "ja",
"result_type": "recent",
"count": 20
}
if req.status_code != 200:
print ("Error: %d" % req.status_code)
# レスポンスはJSON形式なので parse する
tweets = json.loads(req.text)
for i, tweet in enumerate(tweets["statuses"]):
tweet_id = tweet[u'id_str']
text = tweet[u'text']
created_at = tweet[u'created_at']
user_id = tweet[u'user'][u'id_str']
user_description = tweet[u'user'][u'description']
screen_name = tweet[u'user'][u'screen_name']
user_name = tweet[u'user'][u'name']
print("tweet_id:", tweet_id)
print("text:", text)
print("created_at:", created_at)
print("user_id:", user_id)
print("user_desc:", user_description)
print("screen_name:", screen_name)
print("user_name:", user_name)
print('\n')
print('取得したtweet数:',len(tweets["statuses"]))
# API残り
limit = req.headers['x-rate-limit-remaining']
# API制限の更新時刻 (UNIX time)
reset = int(req.headers['x-rate-limit-reset'])
print ("API remain: " + limit)
print ("API reset: " + str(datetime.fromtimestamp(reset)))
参考文献
twapi_timeline.py
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import json
from datetime import datetime
CK = '************************'# Consumer Key
CS = '************************'# Consumer Secret
AT = '************************'# Access Token
AS = '************************'# Accesss Token Secert
# OAuth で GET
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.get(timeline_url, params = params)
# タイムライン取得用のURL
timeline_url = "https://api.twitter.com/1.1/statuses/home_timeline.json"
params = {"count": 20}
if req.status_code != 200:
print ("Error: %d" % req.status_code)
# レスポンスはJSON形式なので parse する
tweets = json.loads(req.text)
for i, tweet in enumerate(tweets):
tweet_id = tweet[u'id_str']
text = tweet[u'text']
created_at = tweet[u'created_at']
user_id = tweet[u'user'][u'id_str']
user_description = tweet[u'user'][u'description']
screen_name = tweet[u'user'][u'screen_name']
user_name = tweet[u'user'][u'name']
print("tweet_id:", tweet_id)
print("text:", text)
print("created_at:", created_at)
print("user_id:", user_id)
print("user_desc:", user_description)
print("screen_name:", screen_name)
print("user_name:", user_name)
print('\n')
print('取得したtweet数:',len(tweets))
# API残り
limit = req.headers['x-rate-limit-remaining']
# API制限の更新時刻 (UNIX time)
reset = int(req.headers['x-rate-limit-reset'])
print ("API remain: " + limit)
print ("API reset: " + str(datetime.fromtimestamp(reset)))
twapi_search.py
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import json
from datetime import datetime
CK = '************************'# Consumer Key
CS = '************************'# Consumer Secret
AT = '************************'# Access Token
AS = '************************'# Accesss Token Secert
# OAuth で GET
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.get(search_url, params = params)
# 検索結果取得用のURL
search_url = "https://api.twitter.com/1.1/search/tweets.json"
params = {
"q": u'bitcoin',
"lang": "ja",
"result_type": "recent",
"count": 20
}
if req.status_code != 200:
print ("Error: %d" % req.status_code)
# レスポンスはJSON形式なので parse する
tweets = json.loads(req.text)
for i, tweet in enumerate(tweets["statuses"]):
tweet_id = tweet[u'id_str']
text = tweet[u'text']
created_at = tweet[u'created_at']
user_id = tweet[u'user'][u'id_str']
user_description = tweet[u'user'][u'description']
screen_name = tweet[u'user'][u'screen_name']
user_name = tweet[u'user'][u'name']
print("tweet_id:", tweet_id)
print("text:", text)
print("created_at:", created_at)
print("user_id:", user_id)
print("user_desc:", user_description)
print("screen_name:", screen_name)
print("user_name:", user_name)
print('\n')
print('取得したtweet数:',len(tweets["statuses"]))
# API残り
limit = req.headers['x-rate-limit-remaining']
# API制限の更新時刻 (UNIX time)
reset = int(req.headers['x-rate-limit-reset'])
print ("API remain: " + limit)
print ("API reset: " + str(datetime.fromtimestamp(reset)))
Python で Twitter API にアクセス
Python で Twitter から情報収集 (Twitter API 編)
https://developer.twitter.com/en/docs
https://developer.twitter.com/en/docs/api-reference-index
Author And Source
この問題について(Twitter APIをPythonでいじってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/anyamaru/items/fda42dea27a510169b42著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .