Telegram 頻道每天都在成長,找到最新的頻道可以讓您深入了解熱門社群和熱門話題。使用 GroupFind API,我們可以輕鬆地每天提取新頻道並將其保存到 CSV 中以供分析或監控。在本教程中,我將引導您完成一個簡單的 Python 腳本來自動執行此過程。
GroupFind API 提供了一個用於檢索新列出的 Telegram 群組的端點:
https://api.groupfind.org/api/groups?skip=0&sort=newest
此端點傳回 JSON 格式的數據,包含 groupTitle、category、memberCount、tags 等欄位。我們將使用這些資料來建立 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()
以上是抓取新的 Telegram 頻道的詳細內容。更多資訊請關注PHP中文網其他相關文章!