天天看點

零代碼程式設計:用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頁面音頻

繼續閱讀