Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
35
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@tomozo6

twitter APIで遊んでみる #3(検索結果の取得)

前回までのお話

twitter APIで遊んでみる #1(環境作り)
twitter APIで遊んでみる #2(ユーザータイムラインの取得)

はじめに

前回は、指定したtwitterアカウントのタイムラインを取得しましたので、今回は指定した文言の検索結果を取得してみたいと思います。こっちのほうが使いみち多そうです。

前回モスバーガーの公式twitter(@mos_burger)のタイムラインを取得したので、今回はモスバーガーという文言で検索してみようと思います。

APIのリファレンス

今回使用するuser_timelineAPIのリファレンスです。
https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets

パラメータはいっぱいありますが、今回はcountqを指定しました。
countは検索結果のレコード数です。最大が100、デフォルトは15とのことです。今回もそんなにいらないので、とりあえず10にしました。qは検索キーワードです。モスバーガーを指定しました。

早速結果を見てみよう。

コード

getSearchTweets.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import json
import config
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)

# Twitter Endpoint(検索結果を取得する)
url = 'https://api.twitter.com/1.1/search/tweets.json'

# Enedpointへ渡すパラメーター
keyword = 'モスバーガー'

params ={
         'count' : 10,      # 取得するtweet数
         'q'     : keyword  # 検索キーワード
         }

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

if req.status_code == 200:
    res = json.loads(req.text)
    for line in res['statuses']:
        print(line['text'])
        print('*******************************************')
else:
    print("Failed: %d" % req.status_code)

実行結果

root@localhost:twitter$ python getSearchTweets.py
@zyunana17 マックかモスかの二択で距離もそんな変わらないならモスかかなぁ…ってくらいの優先度、肉も野菜も中途半端でバーガーそのものに正直玉ねぎソース以外あんま魅力感じない
*******************************************
自分あんまり感情を言葉にするのが上手いこといかないもんで、すごい熱量でお兄さんを推してる人本当に凄いな~と思うことが多々あるんですけど、 ってここまで打って何が言いたかったか忘れたので食べたいハンバーガーの名前言います麻辣モスバーガー
*******************************************
わぁいモスバーガー エイドリアンモスバーガー大好き
*******************************************
A.エコレストラン
モスバーガーさん、確かにドリンクもカップではなくグラスですよね。エコに熱心な企業さんは応援したくなります‼ https://t.co/qjpTWWJy3Q
*******************************************
今日の空き時間はモス食べた💓
フィッシュバーガーとライスバーガー焼肉。withきゃーちゃん https://t.co/iQgkLnE9wZ
*******************************************
妹①にモスのバーガーセットのギフト貰ったから妹②と食べてきたぞ♡ごちそうさまさま♡ https://t.co/2BqBYtAZF9
*******************************************
モスバーガーお腹一杯食べたい
*******************************************
今日の晩飯はモスバーガー
もち一人で店内で食べてます。
*******************************************
モス麻辣バーガー、シビレが過ぎる(褒めてる)
*******************************************
RT @syu_ka11: しゃおりんがバイト中に
モスにバーガー買いに来てくれた👏
クソ萎えてたけど元気出た〜ありがとう✨
差し入れまでくれて
しかも私の好みを的確に押さえた差し入れすぎて神かな…って思った( ˇωˇ )♥️
カラオケしながらいただきます!!! https:/…
*******************************************
やっぱり他社でも同じ商品はない「やっぱりモスバーガー」です! #私の好きモス
*******************************************
しゃおりんがバイト中に
モスにバーガー買いに来てくれた👏
クソ萎えてたけど元気出た〜ありがとう✨
差し入れまでくれて
しかも私の好みを的確に押さえた差し入れすぎて神かな…って思った( ˇωˇ )♥️
カラオケしながらいただきます!… https://t.co/DVXvYNHrdY
*******************************************
モスバーガー様より、こども商品券5000円分当選のご連絡を頂きました✨
ありがとうございます☺️💕
こども商品券は初めてですが、百貨店さんや玩具店さん遊園地など色々なところで使えるようです🎠
娘&息子、喜ぶぞ〜😆🎶
また家族で大好… https://t.co/NS2dOY6Kys
*******************************************
ミッキーのバーガークッション、私はモスモスと名前を付けたんですけど、ベッドの上が錯乱状態なので椅子の上に避難させてる。元気がない時モスモスすると満たされる。
*******************************************
@naog0309 しかもね、それ気づいたのモスバーガー😂
*******************************************

問題なく取得できたようです。

終わりに

なんとなくtwitterAPIの使い方がわかってきました。せっかくtwitterのデータを引っこ抜いてこれたので、次回はこのデータをもとに遊んでみようと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
35
Help us understand the problem. What are the problem?