Les chaînes Telegram se développent chaque jour, et trouver les plus récentes peut vous donner un aperçu des communautés tendances et des sujets populaires. Grâce à l'API GroupFind, nous pouvons facilement extraire quotidiennement de nouvelles chaînes et les enregistrer dans un fichier CSV à des fins d'analyse ou de surveillance. Dans ce tutoriel, je vais vous présenter un simple script Python pour automatiser ce processus.
L'API GroupFind offre un point de terminaison pour récupérer les groupes Telegram nouvellement répertoriés :
https://api.groupfind.org/api/groups?skip=0&sort=newest
Ce point de terminaison renvoie des données au format JSON, avec des champs tels que groupTitle,category, memberCount, tags, etc. Nous utiliserons ces données pour créer notre CSV, en le mettant à jour quotidiennement avec de nouvelles annonces.
Commençons par importer les bibliothèques nécessaires et configurer une fonction pour extraire les dernières données et les enregistrer dans un fichier CSV.
import requests import csv from datetime import datetime import time
Ici, nous allons configurer une fonction qui :
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)
Pour automatiser l'exécution quotidienne de ce script, nous pouvons utiliser le module de temps intégré de Python pour plus de simplicité, ou le configurer en tant que tâche cron sur un serveur.
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
Exécutez simplement le script et il récupérera chaque jour de nouvelles chaînes Telegram, en les ajoutant à new_telegram_channels.csv. Le fichier accumulera des données au fil du temps, fournissant un enregistrement croissant de nouvelles communautés Telegram.
if __name__ == "__main__": run_daily()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!