見出し画像

特定のサイトのトップニュースを毎日Slackに自動投稿するシステムを導入する方法


はじめに

最新ニュースを毎日確認するのは手間がかかるものです。
しかし、PythonスクリプトSlackのIncoming Webhookを活用することで、
トップニュースを毎日自動的にSlackに投稿するシステムを構築することができます。
この記事では、このシステムの設定方法とそのメリットについて詳しく紹介します。

例として、TechCrunchのトップページから最新の見出しを取得するためのPythonスクリプトを作成します。
このスクリプトはrequestsライブラリを使用してHTMLを取得し、
BeautifulSoupライブラリを使って見出しを抽出します。

Pythonのダウンロードはこちらの記事を参考に。

例としてTechCrunchの最新ニュースを毎日キャッチ!

以下をPythonで実行すると、トップ画面の見出しをテキスト吐き出すことができます。

import requests
from bs4 import BeautifulSoup
import json

def fetch_techcrunch_headlines():
    # TechCrunchのトップページのURL
    url = "https://techcrunch.com/"

    # ページをリクエスト
    response = requests.get(url)
    response.raise_for_status()  # エラーが発生した場合は例外を投げる

    # ページのHTMLをパース
    soup = BeautifulSoup(response.text, 'html.parser')

    # <h2>要素を抽出
    h2_elements = soup.find_all('h2', limit=5)

    # <h2>要素のテキストを抽出
    headlines = [h2.get_text(strip=True) for h2 in h2_elements]

    return headlines

ただし、これだけでは毎日自動投稿ができないため、
Slackと連携する方法については有料にて公開させていただきます。

実装後のアウトプットイメージ

上記のWebページの情報を以下のようにアウトプットすることができます。
メンションをつければメンバへも毎日共有することが可能となります。


PythonスクリプトとSlack Webhookの連携で実現

Slackへの自動投稿にはアプリの作成と、Python側での対応が必要となります。
アプリの作成はこちらを参考にしてください。

TechCrunchのトップページから最初の5つの見出しを抽出し、
それを指定されたSlackチャンネルに投稿します。
Slack WebhookのURLを設定する際に、デフォルトのチャンネルを指定するか、
スクリプト内でチャンネルを指定することで、特定のチャンネルに投稿できます。

定期実行で情報収集を自動化

Windows (タスクスケジューラ)

  1. 「タスク スケジューラ」を開きます。

  2. 「基本タスクの作成」をクリックし、タスク名を入力します。

  3. 「毎日」を選択し、スクリプトを実行したい時間を設定します。

  4. 「プログラムの開始」を選択し、Program/script にPythonのパス(例: C:\python.exe)を入力し、Add arguments (optional) にスクリプトのフルパスを入力します(例: C:\path\to\your\post_techcrunch_headlines.py)。

  5. 「完了」をクリックしてタスクを保存します。

まとめ

このシステムを導入することで、TechCrunchの最新ニュースを毎日自動的にSlackに投稿し、
常に最新の情報をチームで共有することができます。
PythonスクリプトとSlack Webhookの組み合わせにより、情報収集の効率が大幅に向上します。
定期実行の設定も簡単で、スクリプトの自動実行をスムーズに行うことができます。

ここから先は

1,368字

¥ 1,200

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?