質問失礼します!
TwitterAPI 持ってるのですが、リアルタイムでキーワード検索して取得したツイート URL 取得する資料ありましたら教えて欲しいです!
Python の LINE オープンチャットにこんな投稿があったので、Tweepy というライブラリを使って、キーワードで検索したツイートの URL を取得するコードを書いてみました。
目次
確認した環境
- MacBook Pro(Intel)
- macOS Ventura 13.0
- Python 3.11.0
- tweepy 4.12.1
コード
import tweepy
from dotenv import load_dotenv
import os
load_dotenv()
API_KEY = os.environ["API_KEY"]
API_SECRET_KEY = os.environ["API_SECRET_KEY"]
ACCESS_TOKEN = os.environ["ACCESS_TOKEN"]
ACCESS_TOKEN_SECRET = os.environ["ACCESS_TOKEN_SECRET"]
def twitter_api():
auth = tweepy.OAuthHandler(API_KEY, API_SECRET_KEY)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
return tweepy.API(auth)
def get_tweet_url_by_keyword(keyword):
results = []
api = twitter_api()
tweets = tweepy.Cursor(
api.search_tweets,
q=keyword,
tweet_mode="extended",
# lang="ja",
result_type="recent",
).items(3)
for tweet in tweets:
tweet_id = tweet.id
screen_name = tweet.user.screen_name
url = f"https://twitter.com/{screen_name}/status/{tweet_id}"
results.append(url)
return results
urls = get_tweet_url_by_keyword("Python")
for url in urls:
print(url)
Cursor()
メソッドの中のlang="ja"
をコメントアウトしていますが、これを有効にすると日本語のツイート?に絞られるようです。
一応このコードでURLを取得できるのですが、Twitter 公式の Web で検索した結果と微妙に取得できるツイートが違うのは謎。。。
API の仕様でしょうか???
load_dotenv()
はシークレットキーやトークンなど外部に漏らしたくない情報を別ファイル(.env)から読み込んでいます。
「python-dotenv」というライブラリを使っています。
Tweepy については公式ドキュメントも参照ください。
参考にしたWebサイト
今回のコードを書くにあたり、下記サイトを参考にさせていただきました。
【Twitter】PythonのライブラリtweepyでツイートのURLを取得してみた : ダクマスのブログ
ツイートを検索してURLを取得しようと思います。方法としてはツイートのURLの形式がTwitter.com/ユーザーネーム/status/ツイートID なので対象のツイートを取得しそこから…
pythonでtwitter APIを利用してツイートを取得する【サンプルコードあり】|python-manブログ
今回の記事では、pythonでtwitter APIを使用して、ツイートを取得する方法について解説していきたいと思います。前回の記事ではpythonでtwitterを扱うために、twitter API…
おわりに
今回は、
キーワードで検索したツイートの URL を取得する Python コード
をご紹介しました。
Tweepy を使って特定のアカウントのツイートを取得する方法を紹介した記事も書いているので、良かったらこちらものぞいてみてください。
【Python】Tweepyで前澤友作さんのツイートを取得してみる
今回は Tweepy というライブラリを使って、日本一のフォロワー数を誇る前澤友作さんのツイートを取得してみたいと思います。
以上です。
コメント