天天看点

零代码编程:用ChatGPT批量下载podomatic播客RSS页面音频

作者:AIGC部落

podomatic播客上的音频,怎么批量下载呢?

以这个播客为例:https://nosycrow.podomatic.com/rss2.xml

右边有一个RSS Feed的黄色图标,点击打开:

零代码编程:用ChatGPT批量下载podomatic播客RSS页面音频

可以看到所有的音频和标题:

零代码编程:用ChatGPT批量下载podomatic播客RSS页面音频

查看源代码,音频标题在title标签里,mp3音频文件在enclosure标签里:

零代码编程:用ChatGPT批量下载podomatic播客RSS页面音频

在ChatGPT中输入提示词:

你是一个Python编程专家,要完成一个批量下载网页中音频文件的任务,具体步骤如下:

在本地电脑E盘,创建nosycrow文件夹;

打开网页https://nosycrow.podomatic.com/rss2.xml,解析源代码;

定位所有<item>标签;

定位<item>中的<title>,提取其内容,删除其中的“: ”,作为音频文件标题名;

定位<item>中的<enclosure>,提取其中url值,删除url值中的“?”和“?”以后的字符,作为音频文件URL;

下载这个音频文件,保存到E盘的nosycrow文件夹;

注意:每一步都要输出相关信息

ChatGPT给出的Python源代码:

import os

import requests

from bs4 import BeautifulSoup

from concurrent.futures import ThreadPoolExecutor

# RSS源的URL

rss_url = "https://nosycrow.podomatic.com/rss2.xml"

# 输出信息:开始下载RSS源

print(f"Downloading RSS feed from {rss_url}...")

# 下载RSS源

response = requests.get(rss_url)

rss = response.text

# 输出信息:开始解析RSS源

print(f"Parsing RSS feed...")

# 解析RSS源

soup = BeautifulSoup(rss, "xml")

items = soup.find_all('item')

# 定义一个函数来下载音频

def download_audio(item):

# 提取音频标题和URL,并进行处理

audio_title = item.title.text.replace(": ", "")

audio_url = item.enclosure['url'].split("?")[0]

# 输出信息:开始下载音频

print(f"Downloading audio '{audio_title}' from {audio_url}...")

# 下载音频

audio_response = requests.get(audio_url)

# 保存音频到本地文件

audio_file_path = os.path.join("E:\\nosycrow", f"{audio_title}.mp3")

with open(audio_file_path, 'wb') as f:

f.write(audio_response.content)

# 输出信息:音频下载完成

print(f"Audio '{audio_title}' downloaded successfully.")

# 创建一个线程池

with ThreadPoolExecutor() as executor:

# 启动多线程下载

executor.map(download_audio, items)

# 输出信息:所有音频下载完成

print("All audios downloaded successfully.")

零代码编程:用ChatGPT批量下载podomatic播客RSS页面音频

程序运行,很快上百个音频就下载完成了:

零代码编程:用ChatGPT批量下载podomatic播客RSS页面音频

继续阅读