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回解析アルゴリズムコンテストが開始され、技術専門家があなたの参加を待っています

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

ブログ    
ブログ    
ブログ    

推薦する

Google Research: ゲーデル賞とクヌース賞受賞者が「脳内のテキスト表現」を分析

このオンラインセミナーで特に注目を集めた講演は、コロンビア大学のコンピューターサイエンス教授であるク...

ジャック・マー:テクノロジーは私たちの生活をより健康にしなければ意味がない

9月17日から19日まで、上海で「人工知能が新時代を力づける」をテーマにした2018年世界人工知能大...

...

...

人工知能とビッグデータとは何ですか?彼らの間にはどのような関係があるのでしょうか?

ビッグデータとは、従来のソフトウェアツールでは一定期間内に収集、管理、処理できないデータの集合を指し...

人工知能産業は各地で花開いています。この7つのロボットがあなたに近づいてきます!

現在、中国の製造業、農業、飲食業、企業、機関はすべて、自動化からインテリジェンス化、デジタル化への変...

私のディープラーニング開発環境: TensorFlow + Docker + PyCharm など。あなたの環境はどうですか?

著者: キリアンマシンハートが編集参加者: ヌルハチュ・ヌル、リー・ヤージョウこの記事では、研究者の...

OpenAI: ChatGPTはクローラープロトコルに準拠し、ウェブサイトは無料での使用を拒否できる

ChatGPT によってウェブサイトのデータが盗まれるのを防ぎたいですか?ついに解決策が見つかりまし...

人工知能の開発においてセキュリティは無視できない

世界的な科学技術革命と産業変革の新たな局面が本格化している。人工知能は、新たな科学技術革命と産業変革...

困難な選択のターミネーター: さまざまな問題に対する機械学習アルゴリズム

データサイエンスを学び始めた頃、特定の問題に対してどのアルゴリズムを選択すればよいのかという疑問によ...

ジェネレーティブ AI がサプライ チェーンと調達の役割をどのように変革しているか

実際、生成 AI は近い将来、企業全体の販売、マーケティング、調達、サプライ チェーンにおける人間の...

ChatGPT と Stack Overflow: どちらの回答がより良いでしょうか?

米国のパデュー大学が最近発表した「誰の回答が優れているか? ChatGPT と Stack Over...

顔だけで下着を全部剥ぎ取られる:マスクは役に立たない、この顔検査は国民を怒らせている

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

セキュリティ業界の大手企業はどのようにドローンを配備するのでしょうか?

ドローンは警報装置、検出器、カメラなどを搭載し、多くの機能を実現でき、セキュリティ監視、スマートビル...

ロボットR2-D2は50年後に人間の仕事を完全に置き換えるでしょうか?

[51CTO.com クイック翻訳] 海外メディアの報道によると、誰かが設計しているロボットがあな...