获取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')#提示程序结束

 


 

 

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