Python+Twitter API①

 
 

import json, config #標準のjsonモジュールとconfig.pyの読み込み
from requests_oauthlib import OAuth1Session #OAuthのライブラリの読み込み

CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET

twitter = OAuth1Session(CK, CS, AT, ATS) #認証処理

 

リツイート


tweetid = "リツイート対象のID"

url = 'https://api.twitter.com/1.1/statuses/retweet/' + tweetid + '.json'

param = {'id':tweetid}

twitter.post(url, params = param)

お気に入り

url = 'https://api.twitter.com/1.1/favorites/create.json'

tid = "対象のID"

param = {'id':tid}

twitter.post(url, params = param)

特定ユーザーのタイムラインを取得し、表示する

import json, config #標準のjsonモジュールとconfig.pyの読み込み
from requests_oauthlib import OAuth1Session #OAuthのライブラリの読み込み

CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET
twitter = OAuth1Session(CK, CS, AT, ATS) #認証処理


url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'

tid = "1073949940764762115"

param = {'screen_name':'watanabe_naomi',
        'count':'5'}

req = twitter.get(url, params = param)


if req.status_code == 200:
    timeline = json.loads(req.text)
    for tweet in timeline:
        print(tweet['user']['name']+'::'+tweet['text'])
        print(tweet['created_at'])
        print('----------------------------------------------------')
else:
    print("ERROR: %d" % req.status_code)

キーワードで検索し表示する

url = "https://api.twitter.com/1.1/search/tweets.json"

keyword = '鬱状態'

params = {'q' : keyword, 'count' : 5}

req = twitter.get(url, params = params)

if req.status_code == 200:
    search_timeline = json.loads(req.text)
    for tweet in search_timeline['statuses']:
        print(tweet['user']['name'] + '::' + tweet['text'])
        print(tweet['created_at'])
        print('----------------------------------------------------')
else:
    print("ERROR: %d" % req.status_code)

トレンドワードの取得

url = "https://api.twitter.com/1.1/trends/place.json"

params = {'id':1118370} #対象地域のID

req = twitter.get(url, params = params)

tl = json.loads(req.text)

print(tl)

#トレンドワードに関する情報がJSONファイルで取得できているのが分かると思います
#必要な情報を抽出すればよいと思います

特例のツイートをリツイートしたユーザーの情報を取得

twitter = OAuth1Session(CK, CS, AT, ATS) #認証処


tweetid = "1093882892214624262"

url = "https://api.twitter.com/1.1/statuses/retweets/" + tweetid + ".json"

params = {"id":tweetid,"count":10} #10件取得

req = twitter.get(url, params = params)

tl = json.loads(req.text) #辞書へ返還

for result in tl:
        print(result["id"]) #ユーザーIDを取得

bbb = open('aaa2.json','w')
json.dump(tl, bbb) #JSONファイルに書き込み

リツイートを取り消す

twitter = OAuth1Session(CK, CS, AT, ATS) #認証処理

tweetid = "12341234xxxxxxx" #リツイートの対象ツイートのID

url = "https://api.twitter.com/1.1/statuses/unretweet/" + tweetid + ".json"

params = {"id":tweetid}

res = twitter.post(url, params = params)

検索し、JSONに保存

twitter = OAuth1Session(CK, CS, AT, ATS) #認証処理

url = "https://api.twitter.com/1.1/search/tweets.json"

keyword = 'テレビ'

count = 10

lang = 'ja'

type = 'mixed' #デフォルトはmixed

params = {'q' : keyword, 'count' : count,'lang':lang ,'result_type':type}

req = twitter.get(url, params = params)

if req.status_code == 200:
    search_timeline = json.loads(req.text)
    for tweet in search_timeline['statuses']:
        print(tweet['user']['name'] + '::' + tweet['text'])
        print(tweet['created_at'])
        print(tweet["id"])
        print('----------------------------------------------------')
else:
    print("ERROR: %d" % req.status_code)


tl = json.loads(req.text)

contents = open('filename.json','w')
json.dump(tl, contents)



 
 
 
 
 
 

tweepy, twitter api

Posted by iser