import feedparser import os import requests def download_attachment(url, filename): response = requests.get(url) if response.status_code == 200: with open(filename, 'wb') as f: f.write(response.content) print(f"Downloaded {filename}") else: print(f"Failed to download {url}") def create_downloads_folder(): downloads_folder = "Downloads" if not os.path.exists(downloads_folder): os.makedirs(downloads_folder) print(f"Created folder: {downloads_folder}") def main(): feed_url = input("Enter the RSS feed URL: ") num_entries = int(input("Enter the number of entries to process: ")) create_downloads_folder() feed = feedparser.parse(feed_url) for i, entry in enumerate(feed.entries[:num_entries]): if hasattr(entry, 'links'): for link in entry.links: if link.type == 'application/pdf' or link.type.endswith('/zip') or link.type.endswith('/rar'): filename = os.path.basename(link.href) download_attachment(os.path.join("Downloads", filename), link.href) if __name__ == "__main__": main()