现在学习python的人应该都清楚,python有句口号叫“人生苦短,我学python”这句,这个的意思是认得一生太短暂,我们可以利用python缩短我们获取有价值的东西的时间。
第一步:我们先打开我们的python专用编辑工具pycharm软件,然后点击“新建”,然后在我们的页面输入以下代码:
import requestsimport re #正则import json #字典def get_mp3_by_songid(songid) api='http://musicapi.qianqian.com/v1/restserver/ting?method=baidu.ting.song.play&format=jsonp&callback=jQuery172049813043258268963_1525098370776&songid=%s&_=1525098375834'%songi response=requests.get(api data=response.tex data=re.findall(r'\((.*)\)',data)[0] data=json.loads(data print(data) #获取歌曲的信息(名字,mp3地址) mp3_name=data['songinfo']['title'] #该文件所在位置的递减阶级关系 mp3_url=data['bitrate']['file_link'] print(mp3_name) print(mp3_url) #发送http请求 response=requests.get(mp3_url) print(response.content) filename='%s.mp3'%mp3_name with open('E:\\music\\%s.mp3'%filename,'wb') as f: #爬取文件保存的位置 f.write(response.content)#根据查询的内容获取siddef get_sids_by_name(query): api='http://music.baidu.com/search' data={ 'key':query } response=requests.get(api,params=data html=response.tex sids=re.findall(r'sid":(\d+),',html) #获取歌曲id return sids #将id返回回去sids=get_sids_by_name('大张伟') #调用for sid in sids: #循环爬取 get_mp3_by_songid(sid)
第二步:我们声明的“ef get_mp3_by_songid(songid):”是写一个函数,能够根据songid下载获取歌曲的mp3地址。
第三步:声明获取歌曲的下载地址函数之后,我们需要将我们的歌曲路径放在我们的api里面,然后利用requests进行访问。
第四步:然后我们需要获取歌曲的信息(名字,mp3地址),使用
mp3_name=data['songinfo']['title'] #该文件所在位置的递减阶级关系mp3_url=data['bitrate']['file_link']print(mp3_name)print(mp3_url)
第五步:我们继续下一步,发送我们的http请求,括号里面的第二个值的作用是将返回的数据以二进制信息放在content里面
response=requests.get(mp3_url)print(response.content)
第六步:我们的歌曲获取之后,我们需要给予它一个储存的路径,并将其永久化。其中open是指定储存的路径的作用。
filename='%s.mp3'%mp3_namewith open('E:\\music\\%s.mp3'%filename,'wb') as f: f.write(response.content)
第七步:根据查询的内容获取我们的sid
def get_sids_by_name(query): api='http://music.baidu.com/search' data={ 'key':query } response=requests.get(api,params=data html=response.tex sids=re.findall(r'sid":(\d+),',html) return sids
第八步:这里我们指定爬取的内容是大张伟的歌曲
sids=get_sids_by_name('大张伟') #调用#print(sids)for sid in sids: #循环爬取 get_mp3_by_songid(sid)
第九步:写完所有的代码之后,我们点击运行我们的程序,点击运行之后,我们进入我们的指定存储的爬取的内容保存的路径的文件夹内,就会发现我们的歌曲已经爬取到了。
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论