初めに
こんにちは、私はYahoo News、Google News、Brave Searchからニュースを検索し、LINEボットを通じて結果を送信するPythonスクリプト「Yahoo News Line Bot」を作成しました。この記事では、このボットのセットアップと使用方法について詳しく説明します。readmeにも書いてあるのでそちらを読んでもらっても構いません。
前提条件
このプロジェクトを実行するには、Python 3がインストールされている必要があります。また、LINE Messaging APIのアクセストークンとシークレットキーが必要です。
インストール方法
Windows
-
Python 3をインストールします。Python公式サイトからインストーラーをダウンロードして実行します。
-
コマンドプロンプトを開き、以下のコマンドを実行して必要なパッケージをインストールします。
pip install flask waitress line-bot-sdk requests beautifulsoup4
Ubuntu
- Python 3をインストールします。ターミナルを開き、以下のコマンドを実行します。
sudo apt update
sudo apt install python3 python3-pip
- 必要なパッケージをインストールします。
pip3 install flask waitress line-bot-sdk requests beautifulsoup4
環境変数の設定
Windows
-
スタートメニューから「システムのプロパティ」を開きます。
-
「詳細なシステム設定」をクリックし、「環境変数」ボタンをクリックします。
-
「新規」ボタンをクリックし、以下の環境変数を追加します。
-
変数名:
LINE_CHANNEL_ACCESS_TOKEN
-
変数値:
<あなたのLINEチャネルアクセストークン>
-
変数名:
LINE_CHANNEL_SECRET
-
変数値:
<あなたのLINEチャネルシークレット>
-
-
OKをクリックしてウィンドウを閉じます。
Ubuntu
- ターミナルを開き、以下のコマンドを実行して環境変数を設定します。
export LINE_CHANNEL_ACCESS_TOKEN=<あなたのLINEチャネルアクセストークン>
export LINE_CHANNEL_SECRET=<あなたのLINEチャネルシークレット>
- これらの変数を永続的にするには、
~/.bashrc
または~/.profile
に上記の行を追加します。
サーバーの実行方法
-
yahoonewsline.py
があるディレクトリに移動します。 -
以下のコマンドを実行してサーバーを起動します。
- Windows:
python yahoonewsline.py
- Ubuntu:
python3 yahoonewsline.py
サーバーが起動すると、デフォルトでポート8000で待機します。LINEプラットフォームのWebhook URLには、このサーバーの公開URLを設定する必要があります。
LINEボットの使い方
LINEボットにメッセージを送信することで、以下の機能を使用できます。
-
@news
に続けてキーワードを入力してYahoo Newsを検索します。 -
@google
に続けてキーワードを入力してGoogle Newsを検索します。 -
@brave
に続けてキーワードを入力してBrave Searchを検索します。
例えば、@news スポーツ
とメッセージを送ると、Yahoo Newsで「スポーツ」に関連するニュースを検索し、結果を返信します。
注意事項
このボットはウェブスクレイピングを利用して情報を取得しています。スクレイピングは対象のウェブサイトの利用規約に違反する可能性があるため、使用は自己責任でお願いします。また、頻繁なアクセスはサーバーに負荷をかけることになるので、適切な間隔を空けて利用するようにしてください。