獲取b站的一個活動的聲優聲音的mp3文件(簡單爬蟲)

以下程序可以直接運行。

涉及到的知識點:文件路徑及創建,http請求,內容提取(正則表達式),文件寫入硬盤。

還可以加入多線程,讓程序跑的更快。

import  re,requests,os
list=['kiana','mei','bronya','theresa','seele','himeko'] #首先定義了需要獲取的角色名字的列表。
dir='file4'#定義文件夾的名字,該文件夾會在你執行腳本的路徑下生成
if not os.path.exists(os.getcwd()+os.path.sep+dir):
    os.mkdir(dir)
    print(os.getcwd()+os.path.sep+dir)
os.chdir(os.getcwd()+os.path.sep+dir)#判斷是否存在重名的文件夾,重名了就直接拿來用了;不存在就創建一個文件夾,。
for name in list:#從列表中一個一個取出name
    for x in range(1,8):#x從1遞增到7,爲什麼是7?其實無所謂,因爲每個人的mp3只有5個,只要不小於5即可。
        url='http://static.biligame.net/teos2/gw/pc/cv/{}/japan/00{}.mp3'.format(name,x)#構建url
        print(url)
        filename=url.split('/')[-3]+url.split('/')[-1]
        r = requests.get(url)#這句是靈魂,調用requests庫的get方法,訪問構建url的資源,r得到的就是需要的mp3了
        if r.status_code==200:
            print('find {}{}'.format(name,x))#判斷是否成功了
            with open(filename, 'wb') as f:#成功了的話,寫入文件,wb=write binary,即以二進制寫入文件。
                f.write(r.content)
                print(filename+'get daze!')
        else:
            print('not find resource :'+filename)
print('your files in '+os.getcwd())#打印存儲文件的路徑
print('done')#提示程序結束

 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章