python批量爬取下载网易云音乐
生活随笔
收集整理的這篇文章主要介紹了
python批量爬取下载网易云音乐
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import requests
from bs4 import BeautifulSoupdef music():url = 'https://music.163.com/discover/toplist?id=19723756'#偽裝自己headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.1071 SLBChan/21','referer': 'https://music.163.com/'}data = {"params": "+H6D23233AX7 + ZhHr4HqHLeDwi5A9nhbtTqkxhoFC / A9Jf01CuoQpZ + AX7YFx + +W","encSecKey": "0b87f8306db58707587ee170832712c5781f96adc1890048e339977a819f26b86f814c91b2bafbb123a35de4da4d16678f1f5ca2af99657b48048a30dad0b18ed14e2f32c23145c6e42349af1356287119e7b1157b544f292b212d7014168b22605b83692af7fc5c4fd3395c86fa7ea9395b4b9fb560b83268044be825c61723"}response = requests.get(url=url,headers=headers,params=False,data=data).content.decode("utf-8")s = BeautifulSoup(response, 'lxml')main = s.find('ul', {'class': 'f-hide'})list= main.find_all("a")for i in list:name = i.text.replace("/"," ")music_url = 'http://music.163.com/song/media/outer/url' + i['href'][5:] + '.mp3'# 第一次沒有這兩行代碼,所以下載出來文件是錯誤的。因為請求中有重定向,禁止以后,再次訪問重定向的鏈接就行了response = requests.get(music_url, headers=headers, allow_redirects=False, data=data)url = response.headers.get('Location')music = requests.get(music_url,headers=headers,data=data).contentwith open('D:/NBA/'+name + '.mp3', mode='wb') as file:file.write(music)print(name + "正在下載")print("over!!!")
if __name__ == '__main__':music()
代碼中url可以根據自己的需要音樂的地址進行修改。
總結
以上是生活随笔為你收集整理的python批量爬取下载网易云音乐的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python简单网页爬取
- 下一篇: Google Earth Engine(