ホームページ >バックエンド開発 >Python チュートリアル >新しい電報チャネルのスクレイピング
Telegram チャネルは日々成長しており、最新のチャネルを見つけると、トレンドのコミュニティや人気のトピックについての洞察が得られます。 GroupFind API を使用すると、毎日新しいチャネルを簡単に取得し、分析や監視のために CSV に保存できます。このチュートリアルでは、このプロセスを自動化するための簡単な Python スクリプトについて説明します。
GroupFind API は、新しくリストされた Telegram グループを取得するためのエンドポイントを提供します。
https://api.groupfind.org/api/groups?skip=0&sort=newest
このエンドポイントは、groupTitle、category、memberCount、tags などのフィールドを含むデータを JSON 形式で返します。このデータを使用して CSV を作成し、新しいリストで毎日更新します。
必要なライブラリをインポートし、最新のデータを取得して CSV ファイルに保存する関数を設定することから始めましょう。
import requests import csv from datetime import datetime import time
ここでは、次のような関数を設定します。
def fetch_and_save_new_telegram_channels(): url = "https://api.groupfind.org/api/groups?skip=0&sort=newest" response = requests.get(url) if response.status_code == 200: channels = response.json() filename = "new_telegram_channels.csv" fieldnames = [ "ID", "Title", "Category", "Member Count", "NSFW", "Description", "Tags", "Profile Photo URL", "Added Date" ] with open(filename, mode="a", newline="", encoding="utf-8") as file: writer = csv.DictWriter(file, fieldnames=fieldnames) if file.tell() == 0: writer.writeheader() # Write header only once for channel in channels: writer.writerow({ "ID": channel["id"], "Title": channel["groupTitle"], "Category": channel["category"], "Member Count": channel["memberCount"], "NSFW": channel["isNsfw"], "Description": channel["groupDescription"], "Tags": ", ".join(channel["tags"]), "Profile Photo URL": channel["profilePhoto"], "Added Date": channel["addedDate"] }) print(f"Successfully added {len(channels)} new channels to {filename}.") else: print("Failed to fetch data. Status code:", response.status_code)
このスクリプトを毎日実行するように自動化するには、簡単にするために Python の組み込み時間モジュールを使用するか、サーバー上で cron ジョブとして設定します。
def run_daily(): while True: print(f"Running script at {datetime.now()}") fetch_and_save_new_telegram_channels() time.sleep(86400) # Wait for 24 hours
スクリプトを実行するだけで、毎日新しい Telegram チャネルが取得され、new_telegram_channels.csv に追加されます。このファイルは時間の経過とともにデータを蓄積し、新しい Telegram コミュニティの記録を増やしていきます。
if __name__ == "__main__": run_daily()
以上が新しい電報チャネルのスクレイピングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。