爬虫爬取网易云详解

爬取网易云音乐的一些问题在这里说一下
1.获取网络源码
爬虫爬取网易云详解_第1张图片
通过查看网页源代码,获得的html是首页信息。没有任何作用。
爬虫爬取网易云详解_第2张图片
通过查看网页框架源代码。才能够获取本页源码。
爬虫爬取网易云详解_第3张图片
爬虫爬取网易云详解_第4张图片

def main():
    ID=input("请输入歌手ID:")
    url='https://music.163.com/artist?id='+ID
    html=requests.get(url,headers).text
    get_id(html)

通过requests获取网页代码时,需要对网址进行一下修改:
修改前:

url='https://music.163.com/#/artist?id='+ID

修改后:

url='https://music.163.com/artist?id='+ID

2.音乐接口

url='http://music.163.com/song/media/outer/url?id='+id+'.mp3'

至于id,可以利用re模块从歌手网页的源代码里批量获取
3.切记进行延时处理,否则会被封ip
爬虫爬取网易云详解_第5张图片
我被封了两次,不过还好,每次只封12小时,不过大家还是要谨慎使用for循环,万一那天被其他网站永封了,还是不太乐观的。有代理还是用代理吧,有免费白嫖的网站,这里奉上一个网站

http://www.taiyanghttp.com/

4.用os模块创建文件夹

def creat(singername):          #创建文件夹
    if not os.path.exists(singername):
        os.mkdir(singername)  # 如果该目录不存在就创建它
    os.chdir(singername)

5.保存音乐

def savemusic(name,id):     #保存文件
    url='http://music.163.com/song/media/outer/url?id='+id+'.mp3'
    with open(name+'.m4a','wb') as f:
        print('歌曲《',name,'》 下载中***************')
        f.write(requests.get(url=url,headers=headers).content)
        f.close()
        print("《",name,"》下载完成")
        print('')

完整代码:
https://blog.csdn.net/qq_52660776/article/details/113894782?spm=1001.2014.3001.5501

完事–收工

你可能感兴趣的:(python,爬虫,python,爬虫)