Pythonを使用して独自のTwitterボットを構築する方法を学びます

Pythonを使用して独自のTwitterボットを構築する方法を学びます

Twitter を使用すると、ユーザーはブログの投稿や記事を世界と共有できます。 Python と Tweepy ライブラリを使用すると、すべてのツイートを管理する Twitter ボットを簡単に作成できます。この記事では、そのようなロボットの構築方法について説明します。これらの概念を他のオンライン サービス プロジェクトにも適用できることを願っています。

始める

tweepy ライブラリを使用すると、Twitter ボットの作成プロセスがはるかに簡単になります。 Twitter API 呼び出しと非常にシンプルなインターフェースが含まれています。

次のコマンドは、 pipenvを使用して仮想環境に tweepy をインストールします。 pipenvがインストールされていない場合は、Fedora に Pipenv をインストールする方法に関する以前の記事を参照してください。

  1. $ mkdir twitterbot
  2. $ cd twitterbot
  3. $ pipenv -- three
  4. $ pipenv install tweepy
  5. $ pipenv shell

Tweepy - はじめに

Twitter API を使用するには、ボットが Twitter によって承認される必要があります。この問題を解決するために、tweepy は OAuth 認証標準を使用します。 https://apps.twitter.com/ で新しいアプリケーションを作成することで、資格情報を取得できます。

新しいTwitterアプリケーションを作成する

フォームに記入してクリックしたら独自のTwitterアプリケーションを作成するTwitterアプリケーションを作成する「」ボタンをクリックすると、アプリケーションの認証情報を取得できます。TweepyではユーザーキーAPIキーそしてユーザーパスワードAPIシークレット、これはキーとアクセストークンキーとアクセストークン」。

下にスクロールしてアクセストークンを作成するアクセストークンを作成する「」ボタンをクリックして「アクセストークンアクセストークン” と “アクセストークンシークレットアクセストークンシークレット」。

Tweppy の使用 - タイムラインのエクスポート

必要な資格情報を取得したら、ファイルを開いて次の Python コードを記述します。

  1. import tweepy
  2. auth = tweepy . OAuthHandler ( "your_consumer_key" , "your_consumer_key_secret" )
  3. auth . set_access_token ( "your_access_token" , "your_access_token_secret" )
  4. api = tweepy . API ( auth )
  5. public_tweets = api . home_timeline ()
  6. for tweet in public_tweets :
  7. print ( tweet . text )

Pipenv 仮想環境を使用していることを確認した後、プログラムを実行します。

  1. $ python tweet . py

上記のプログラムはhome_timelineメソッドを呼び出して、タイムライン内の最新の 20 件のツイートを取得します。ボットが tweepy を使用して Twitter からデータを取得できるようになったので、コードを変更してツイートを送信してみましょう。

Tweepy の使用 - ツイートの送信

ツイートを送信するには、簡単に使用できる API メソッドupdate_statusがあります。使い方は簡単です:

  1. api . update_status ( "The awesome text you would like to tweet" )

Tweepy 拡張機能は、Twitter ボットを作成するためのさまざまな便利な方法を提供します。 API の詳細については、ドキュメントを参照してください。

雑誌ロボット

次に、Fedora Magazine のツイートを検索してリツイートするボットを作成します。

同じコンテンツを複数回リツイートすることを避けるために、ボットは最新のリツイートの ID を保存します。 2 つのヘルパー関数store_last_idget_last_id 、この ID を保存するのに役立ちます。

次に、ボットは tweepy 検索 API を使用して、Fedora Magazine からの最新のツイートを検索し、ID を保存します。

  1. import tweepy
  2. def store_last_id ( tweet_id ):
  3. """ Stores a tweet id in text file """
  4. with open ( 'lastid' , 'w' ) as fp :
  5. fp . write ( str ( tweet_id ))
  6. def get_last_id ():
  7. """ Retrieve the list of tweets that were
  8. already retweeted """
  9. with open ( 'lastid' ) as fp :
  10. return fp . read ()
  11. if __name__ == '__main__' :
  12. auth = tweepy . OAuthHandler ( "your_consumer_key" , "your_consumer_key_secret" )
  13. auth . set_access_token ( "your_access_token" , "your_access_token_secret" )
  14. api = tweepy . API ( auth )
  15. try :
  16. last_id = get_last_id ()
  17. except FileNotFoundError :
  18. print ( "No retweet yet" )
  19. last_id = None
  20. for tweet in tweepy . Cursor ( api . search , q = "fedoramagazine.org" , since_id = last_id ). items ():
  21. if tweet . user . name == 'Fedora Project' :
  22. store_last_id ( tweet . id )
  23. # tweet . retweet ()
  24. print ( f '"{tweet.text}" was retweeted' )

Fedora Magazine のツイートのみをリツイートするために、ボットは fedoramagazine.org を含み、「Fedora Project」Twitter アカウントによって投稿されたツイートを検索します。

結論は

この記事では、tweepy Python ライブラリを使用して、ツイートを自動的に読み取り、送信、検索する Twitter アプリケーションを作成する方法を説明しました。これで、あなた自身の創造力を使って独自の Twitter ボットを作成できます。

この記事のデモ ソース コードは Github にあります。

<<:  第2回解析アルゴリズムコンテストが開始され、技術専門家があなたの参加を待っています

>>:  いくつかの負荷分散アルゴリズムの原理とコード実装

ブログ    
ブログ    

推薦する

TabR: 検索拡張により、深層学習は表形式データで勾配ブースティング モデルを上回るパフォーマンスを発揮できるようになりますか?

これは7月に発表された新しい論文で、深層学習が表形式データにおける勾配強化モデルを上回ることを可能に...

資金調達は引き続き好調:6月の自動運転分野における資金調達活動の概要

近年、自動運転の開発が本格化し、多くの企業や資本が参入しています。こうした背景から、もうすぐ終わる6...

ディープラーニングを使って背景を除去し、切り抜きを実現する方法の詳細な説明

上記のコースで、経験豊富な Web 開発者である Alon Burg と出会い、偶然にも同じような興...

OpenAI が Stable Diffusion を救います! Ilya Song Yang らによるオープンソースの Dall E3 デコーダー

予想外にも、OpenAI は「競合相手」である Stable Diffusion を活用しました。話...

商用アプリケーション向けディープラーニング画像キャプション技術

[51CTO.com クイック翻訳]人工知能を使用して画像上のピクセルシーケンスをテキストに変換する...

MIT教授が交通渋滞を解決するアルゴリズムを開発

交通渋滞は車をブロックするだけでなく、人々の心もブロックします。車の窓から頭を出して、目の前に無限に...

...

ASP.NET データ暗号化を実現する対称暗号化アルゴリズム

対称暗号化アルゴリズムはどのようにして ASP.NET データ暗号化を実装するのでしょうか?それでは...

グーグルは、人工知能の進歩により飛行機による地球温暖化への影響を大幅に軽減できると主張

グーグルは8月14日、飛行機による気候への影響を大幅に軽減できる人工知能の分野で大きな進歩を遂げたと...

人工知能に対する2つのアプローチの戦い

[[248047]] (AIの2つのルート)ホフスタッターは1995年に予測した。 (人工知能におい...

強化学習とマルチタスク推奨

1. 短編動画推薦のための2段階制約強化学習アルゴリズム最初に紹介する研究は、Kuaishou が開...

AIと行動科学がワクチン接種への躊躇にどう対処できるか

Fractal Analytics の共同創設者 Ram Prasad 氏は、AI が問題領域の特定...

...

人間同士のやりとりを人工知能に置き換える時期が来ているのでしょうか?

人工知能 (AI) は、面倒で時間のかかるすべての手動プロセスを置き換え、人間が価値の高いタスクに集...