Python實現(xiàn)批量下載音效素材詳解
序言
作為當代新青年,應該多少會點短視頻制作吧?

哈哈,那當代自媒體創(chuàng)作者好了~
制作視頻的時候,多少需要一些搞怪的聲音?或者奇怪的聲音?音樂等等~
一個個下載多慢,我們今天就用python實現(xiàn)批量下載~
環(huán)境/模塊/目標
1、目標

2、開發(fā)環(huán)境
兄弟們,剛學Python的話,不要安裝一些其它的軟件,就裝這兩個就可以了~
Python 環(huán)境 Pycharm 編輯器
3、模塊
本次使用的模塊主要是這兩個
requests # 數(shù)據(jù)請求模塊 re # 正則表達式模塊
流程講解
這次我詳細寫流程,小白都能看懂的那種,看完大家記得三連,給我一點創(chuàng)作的動力吧 ,嘿嘿~

首先我們打開網(wǎng)址后右鍵選擇檢查

選擇network ,刷新頁面往下滑,會出現(xiàn)一個 page-4 和 page-5 的頁面。

這兩個頁面很多數(shù)據(jù)是直接在這里有的,我們隨便找一個點擊播放,然后點擊media ,在headers里面會有一個音頻文件,就是我標注的下載地址。

可以直接播放也可以直接下載

那想獲得這個這個地址怎么搞呢?
我們直接復制這串數(shù)字,比如32716 ,然后點擊左上角的這個搜索框,搜索一下。

搜索之后我們可以看到page-5這里就有音頻的聲音鏈接地址。

音頻標題也在這里可以找到

然后我們點擊headers,直接對于這個url地址發(fā)送請求。

首先導入requests模塊
import requests
url就是剛剛的鏈接
url = 'https://手動替換一下/search/word-/page-5'
然后我們加一個headers進行偽裝
這里直接復制 headers 下面的 user-agent 里面的內(nèi)容就好了

記得加上引號
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
然后發(fā)送請求,打印一下看看結(jié)果
response = requests.get(url=url, headers=headers) print(response.text)
打印出來的內(nèi)容太多了,我們直接在上面搜索MP3,精準定位,它的標題就在mp3文件下面那個鏈接那里。

然后我們把它復制過來,用正則去匹配中間這段內(nèi)容,中間的url用(.*?)代替。
首先導入re模塊
import re
剛剛那段內(nèi)容復制過來,.*?用括號括起來。
從 response.text 里面去匹配,匹配到的內(nèi)容用play_url_list這個變量接收。
play_url_list = re.findall('<div class="ui360 ui360-vis"><a href="(.*?)"></a></div>', response.text)
然后打印一下看看有沒有匹配到內(nèi)容
print(play_url_list)
可以看到直接匹配到了mp3文件,它包含在一個列表里面。

那我們還需要它的標題名字,同樣的復制過來。

還是一樣的操作,url和名字都替換為 .*?
從 response.text 里面去匹配,匹配到的內(nèi)容用name_list這個變量接收。
name_list = re.findall('<a class="h6 text-white font-weight-bold" target="_blank" href=".*?" title="(.*?)">.*?</a>', response.text)
打印一下
print(name_list)
可以看到名字這些數(shù)據(jù),都已經(jīng)獲取到了。

遍歷一下,把獲取到的數(shù)據(jù)打包到一起,然后一個個提取出來,獲取它的一個二進制數(shù)據(jù)內(nèi)容,用mp3_content 這個變量接收一下
for play_url, name in zip(play_url_list, name_list):
mp3_content = requests.get(url=play_url, headers=headers).content
然后直接保存,with open 給它一個文件夾的名字,加上名字,加上 .mp3的后綴,保存方式 mode = wb , 用 f.write 這個變量接收一下 mp3_content
with open('音效\\' + name + '.mp3', mode='wb') as f:
f.write(mp3_content)
這里咱們沒有寫自動創(chuàng)建文件夾, 所以需要手動創(chuàng)建一下文件夾,然后把你命名的名字寫入進來。

然后我們打印一下,看看結(jié)果。
print(name)

相關(guān)的數(shù)據(jù)內(nèi)容就保存在你創(chuàng)建的文件夾了

注:所有的url大家自己手動替換一下,我這里把它們刪了,不然會誤殺
全部代碼
import requests
import re
url = 'https://這里大家自己替換一下/search/word-/page-5'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
# print(response.text)
play_url_list = re.findall('<div class="ui360 ui360-vis"><a href="(.*?)"></a></div>', response.text)
name_list = re.findall('<a class="h6 text-white font-weight-bold" target="_blank" href=".*?" title="(.*?)">.*?</a>', response.text)
print(play_url_list)
print(name_list)
for play_url, name in zip(play_url_list, name_list):
mp3_content = requests.get(url=play_url, headers=headers).content
with open('音效\\' + name + '.mp3', mode='wb') as f:
f.write(mp3_content)
print(name)
到此這篇關(guān)于Python實現(xiàn)批量下載音效素材詳解的文章就介紹到這了,更多相關(guān)Python下載音效素材內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python畫柱狀統(tǒng)計圖操作示例【基于matplotlib庫】
這篇文章主要介紹了Python畫柱狀統(tǒng)計圖操作,結(jié)合實例形式分析了Python基于matplotlib庫實現(xiàn)圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
Python使用open函數(shù)的buffering設置文件緩沖方式
這篇文章主要介紹了Python使用open函數(shù)的buffering設置文件緩沖方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
python3 實現(xiàn)爬取TOP500的音樂信息并存儲到mongoDB數(shù)據(jù)庫中
今天小編就為大家分享一篇python3 實現(xiàn)爬取TOP500的音樂信息并存儲到mongoDB數(shù)據(jù)庫中,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python使用Beautiful?Soup(BS4)庫解析HTML和XML
這篇文章介紹了Python使用Beautiful?Soup(BS4)庫解析HTML和XML的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06

