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 if 判斷選擇結(jié)構(gòu)的實例詳解
代碼執(zhí)行結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。這篇文章主要介紹了python if 判斷選擇結(jié)構(gòu)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
python 常用日期處理-- datetime 模塊的使用
這篇文章主要介紹了python 如何對日期進行處理,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2020-09-09
python 實現(xiàn)將小圖片放到另一個較大的白色或黑色背景圖片中
今天小編就為大家分享一篇python 實現(xiàn)將小圖片放到另一個較大的白色或黑色背景圖片中,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python退出While循環(huán)的3種方法舉例詳解
在每次循環(huán)結(jié)束后,我們需要檢查循環(huán)條件是否滿足。如果條件滿足,則繼續(xù)執(zhí)行循環(huán)體內(nèi)的代碼,否則退出循環(huán),這篇文章主要給大家介紹了關(guān)于Python退出While循環(huán)的3種方法,需要的朋友可以參考下2023-10-10
python獲取系統(tǒng)內(nèi)存占用信息的實例方法
在本篇文章里小編給大家整理的是關(guān)于python獲取系統(tǒng)內(nèi)存占用信息的實例方法,有需要的朋友們可以參考學習下。2020-07-07
Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法
這篇文章主要介紹了Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12

