![見出し画像](https://assets.st-note.com/production/uploads/images/80578243/rectangle_large_type_2_0292d3139a10b327ca5dec200d89e734.jpeg?width=1200)
TwitterAPI V2とTweepyで作る 経済指標ツイートbot つまずいたポイント①【前提条件・開発環境説明】
本noteは自作のTwitterBot 経済指標ツイートbot(@Bot64990849)作成の際、つまずいたポイントを解説するnoteになります。
今回はその第一弾として、前提条件および開発環境の説明となります。
経済指標ツイートbotの仕様や使い方に関しては、弊ブログの記事をご覧ください。
前提条件
まずは前提条件として以下のことに軽く触れておきます。
経済指標ツイートbotとは
処理概要
解説するポイント
1.経済指標ツイートbotとは
まずは今回作成した経済指標ツイートbotとは何か、軽く触れておきます。
経済指標ツイートbotはその名の通り、経済指標の情報を自動でツイートするbotです。
定期的にその日に発表される経済指標に関するツイートを行う他、一定の形式のメンションツイートに対して経済指標の情報を返信します。
詳しくは弊ブログをご参照ください。
2.処理概要
経済指標ツイートbotは以下の2つのプログラムで成り立っています。
スクレイピングを行い経済指標の情報を取得するプログラム
1.で取得した情報をツイートするプログラム
1.のプログラムはサーバー上で定期実行されます。(タスクスケジューラ)
2.のプログラムはサーバー上で常時起動し、一定のタイミングおよびメンションが来たタイミングでツイートを行います。
ざっくりとした処理フローは以下のような感じです。
![](https://assets.st-note.com/img/1655086908198-RcSGjdPJ1N.jpg?width=1200)
3.解説するポイント
公開する一連のnoteで解説するポイントについて触れておきます。
なお、経済指標ツイートbotの作り方そのものではなく、あくまでも作成過程でつまずいたポイントに絞って解説します。
解説するポイントその1
2.処理概要-1.のプログラムではブラウザを自動操作してスクレイピングしているため、playwrightというライブラリを使用しています。
playwrightはマイクロソフトによって作られたライブラリで、以下のように説明されています。
Playwright は、Chromium、Firefox、WebKit を 1 つの API で自動化するためのNode.js ライブラリです。 Playwright は、常緑、対応、信頼性、高速のクロスブラウザー Web オートメーションを有効にするために構築されています。
同じようなライブラリとしてSeleniumがありますが、Seleniumよりも圧倒的にユーザーフレンドリーで使いやすいです。
ただplaywrightは比較的新しいからなのか情報が少なく、目的の値を取得するのに躓いたのでplaywrightでつまずいたポイントについて解説します。
解説するポイントその2
2.処理概要-2.のプログラムで、TwitterAPI V2とTweepyを利用しています。
Tweepy経由でTwitter API V2のツイートする機能とメンションを取得する機能を呼び出しています。
TweepyはpythonでTwitter APIを扱うためのライブラリです。
かなり有名なライブラリですが、TweepyでTwitter API V2を利用するための情報はまだ少なく、ほぼV1.1の情報となっています。
そのため目的の動作をさせるためにつまずきまくって試行錯誤しなくてはならなかったので、そのポイントを解説します。
開発環境
開発環境は以下の通りです。
OS:Windows10 Home 64bit
IDE:Visual Studio Code 1.68.0
仮想開発環境:venv
言語(プログラム1):python 3.7.9
言語(プログラム2):python 3.9.10
使用ライブラリ:tweeppy 4.8.0, playwright 1.22.0
プログラム1と2でpythonのバージョンが異なっているのは、venvの使いまわしをしてるからです。(あんまりよくないです。)
さいごに
今回はこれから解説を行うための前提条件等について触れました。
次回よりいよいよ技術的な解説を行っていきます。
今回botの作成にあたり本当にいろいろとつまずきました。
次回以降二度と同じ思いをしたくないので自分の備忘録も兼ねています。
なるべくわかりやすくするつもりなので、よければお付き合いください。
この記事が気に入ったらサポートをしてみませんか?