שיתוף | סקריפט פייתון להורדת פודקאסטים
-
כתבתי סקריפט קטן בפייתון שמוריד פודקאסטים מפיד rss עם אפשרות להגבלת הפרקים שהוא יוריד
import feedparser import requests pod_link = input("rss feed link : ") max_loop = input("The maximum number of podcasts to download : ") feed = feedparser.parse(pod_link) loop = 0 for entry in feed.entries: if loop == int(max_loop): break else: link = entry.links[0] pod_title = entry.title link1 = link["href"] podcast = requests.get(link1) open(pod_title + ".mp3", 'wb').write(podcast.content) loop += 1
podcasts downloader.py
אשמח לשמוע רעיונות לשיפור -
עבר אמנם זמן אבל עכשיו יצא לי לנסות את chat GPT ולבקש ממנו שיכתוב לי כזה סקריפט
התוצאה לפניכםimport requests import feedparser # Replace this with the URL of the RSS feed you want to download podcasts from rss_url = "https://podcasts.com/rss-feed" # Parse the RSS feed feed = feedparser.parse(rss_url) # Loop through all the entries in the feed for entry in feed.entries: # Get the URL of the podcast episode episode_url = entry.link # Download the podcast episode response = requests.get(episode_url) # Save the podcast episode to a file with open(f"{entry.title}.mp3", "wb") as f: f.write(response.content)
אגב, בסוף תוכנת ה AI לא שכחה לכתוב לי את ההערה הבאה
This script fetches the RSS feed using the requests library, parses it using ElementTree, and then iterates over all the items (podcast episodes) in the feed. For each episode, it extracts the title and URL, prints them, and then downloads the episode using the requests library and saves it to a file. Note that this is a very simple implementation that doesn't handle errors or perform any error checking. In a real-world application, you would need to add additional error handling and other features to make the script more robust.
-
@אף-אחד-3 כתב בשיתוף | סקריפט פייתון להורדת פודקאסטים:
chat GPT
לתועלת אחרים: https://chat.openai.com/chat
-
@צדיק-תמים @אף-אחד-3 החידוש האדיר באמת הוא האפשרות לבקש ממנו לשפר את הקוד שלך:
הנה לדוגמא סקריפט פייתון שמיועד לזהות שם אמן של שיר לפני ואחרי:
לפני:
# -*- coding: utf-8 -*- import os import sys # יבוא פונצקיה לקריאת מטאדאטה של קובץ import music_tag # יבוא פונקציה לקריאת עץ תיקיות from os.path import join, getsize # יבוא פונצקיה עבור תצוגת האותיות העבריות from bidi.algorithm import get_display def pro_scanner(my_file, root): # הפונקציה סורקת את המטאדאטה של השיר ומכניסה אותו למשתנה try: my_file = root + "\\" + my_file artist_file = music_tag.load_file(my_file) artist = artist_file['artist'] target_dict[my_file] = artist except: pass def main(): global target_dict target_dict = {} dir_path = str(sys.argv[1]) if (dir_path != "") and (os.path.exists(dir_path)): for root, dirs, files in os.walk(dir_path): #print("{}".format(root)) #continue for my_file in files: pro_scanner(my_file, root) dict_list = target_dict.items() for item in dict_list: file_name = str(item[0]) art_name = str(item[1]) if art_name.isdigit() or art_name.isalpha() or "&" in art_name or art_name == "" or "," in art_name or len(art_name.split()) >= 3: continue print("move " + file_name + " to " + art_name) os.system('pause') if __name__ == '__main__': main()
אחרי (כולל תיעוד!):
# -*- coding: utf-8 -*- import os import sys # יבוא פונקציה לקריאת מטאדאטה של קובץ import music_tag # יבוא פונקציה לקריאת עץ תיקיות from os.path import join, getsize # יבוא פונקציה עבור תצוגת האותיות העבריות from bidi.algorithm import get_display def pro_scanner(my_file, root): """ פונקציית סורקת את המטאדאטה של השיר ומכניסה את האמן למשתנה תנאים: my_file (str) - שם הקובץ שנסרק root (str) - נתיב התיקייה האב תוצאה: מכניס את האמן שנמצא במטאדאטה של השיר למשתנה target_dict """ try: # בדיקה האם הקובץ הוא קובץ MP3 if not my_file.endswith(".mp3"): return # יצירת נתיב מלא לקובץ my_file = root + "\\" + my_file # טעינת מטאדאטה של השיר artist_file = music_tag.load_file(my_file) # קבלת אמן מטאדאטה של השיר artist = artist_file['artist'] # הכנסת נתוני האמן למשתנה הגלובלי if artist: target_dict[my_file] = artist except: pass def main(): """ הפונקציה המרכיבת את הפקודה הראשית של התכנית. היא סורקת את התיקיות והקבצים תחת נתיב שצוין ומכניסה את האמנים שמופיעים במטאדאטה של השירים למשתנה גלובלי תנאים: אין תוצאה: מכניס את האמנים שמופיעים במטאדאטה של השירים למשתנה גלובלי """ # הגדרת משתנה גלובלי למעט את התגיות הראשיות global target_dict target_dict = {} # קבלת נתיב משתנה dir_path = str(sys.argv[1]) if (dir_path != "") and (os.path.exists(dir_path)): for root, dirs, files in os.walk(dir_path): for my_file in files: pro_scanner(my_file, root) dict_list = target_dict.items() for file_name, artist_item in dict_list: artist = artist_item.value if artist.isdigit() or artist.isalpha() or "&" in artist or artist == "" or "," in artist or len(artist.split()) >= 3: continue print("move " + file_name + " to " + artist) if __name__ == '__main__': main()