import os from bs4 import BeautifulSoup # Chemin du fichier HTML html_file = "/home/cipherbliss/Nextcloud/inbox/Vidéos locales - peertube.openstreetmap.fr.html" # Ouvrir le fichier HTML with open(html_file, "r") as f: html_content = f.read() # Parser le HTML avec BeautifulSoup soup = BeautifulSoup(html_content, "html.parser") # Récupérer les blocs de vidéos video_wrappers = soup.find_all("div", class_="video-wrapper") # Récupérer les informations des vidéos videos = [] for video_wrapper in video_wrappers: # Récupérer l'URL de la vidéo video_url = video_wrapper.find("a", class_="video-thumbnail")["href"] # Récupérer le titre de la vidéo video_title = video_wrapper.find("span", class_="video-miniature-name").text.strip() # Ajouter les informations de la vidéo à la liste videos.append({"url": video_url, "title": video_title}) # Écrire les informations des vidéos dans un fichier JSON import json with open("videos.json", "w") as f: json.dump(videos, f, indent=4) # Écrire les informations des vidéos dans un fichier CSV import csv with open("videos.csv", "w", newline="") as f: writer = csv.writer(f, delimiter=";") writer.writerow(["URL", "Titre"]) for video in videos: writer.writerow([video["url"], video["title"]]) # Écrire les informations des vidéos dans un fichier MediaWiki with open("conférences_sotm_pertube.txt", "w") as f: f.write("| URL | Titre |\n") f.write("| --- | --- |\n") for video in videos: f.write(f"| {video['url']} | {video['title']} |\n")