众所周知爬虫获取信息,首先要明白自己的目的。本篇文章通过网易云音乐爬取这一案例让大家感受一下爬虫的奇妙之处
二、目的通过python爬虫实现下载音乐以及mv视频
三、页面分析1.打开网易云音乐(注意是网页版的进行分析,客户端的话需要使用抓包工具,后续更新会遇到),找到音乐播放
2.鼠标右键检查,点击network(网络),在页面找size,找到流量最大的数据包(m4a,mp3)
3.找到数据包之后直接双击,跳转到数据包(本质就是音乐)找到url以及user-agent
4.以二进制的形式写入文件
四、代码实现1.音乐的爬取
我们知道爬虫的流程发送请求,获取响应。首先下载requests库,在cmd中输入 pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
import requests#导入requests库
url="https://m701.music.126.net/20210922203628/3580929c4516a48efe8fc11317828b9b/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/8316886485/51d7/d1c0/5522/a5a7ff5a630fd0170df046d224fcc68f.m4a"
#目标url的确定
headers={
"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"
}#请求头的构建
response=requests.get(url=url,headers=headers)#固定语法
with open("哪里都是你.mp3","wb")as file1:
file1.write(response.content)
#创建一个文件写入爬取到的数据,wb表示以二进制的形式写入。
2.视频的爬取
思路相同,找到最大的数据包之后进行找到url和user-agent。随后再以mp4的格式写入。废话不多说直接上代码。
import requests
url="https://aabdflwo5freaklk4nwwqyz4cnadu888.node.ppio.cloud:35672/fseeca82d4.a.bdydns.com/1924164272/cloudmusic/ICAiMDAwIGAwICAgISIiJA==/mv/375130/fab51440788fca8cdfcf2726b7328947.mp4?wsSecret=50af6daa98d21a58263e5fcb595908e0&wsTime=1632313281&f_ver=v1&http_cdnfrom=bdcloud&max_age=31104000&r=JEEQRSBbeXhBNyBSUyFOIzhFXBslDjJ5BmpyF1ohQ3gvWQtANwwjJF47a3B3BV4aCHQTfBQgIR50GSNwZw1eHQ0IWRo%2BF3lkAG11CgRrUTYuAFUBZ1Fhbw8%2BJ1gMJ1MxL1NWAmFXNGAEanwAAHMZOjwBW0IgMjM0RT0wBAF0VjF6UQVUalkyZQY5cQEGcgQyeVMHV2ZYY24HYCEJEjNEAyVYAQhiV2VlBGl3Cwx1I0UBWzAFOGZYKCFXVyBZZg%3D%3D&ppiouid=614b1fd6fc5aaa0001adbb9f6eb8a0e1&sent_http_cache=state&sent_http_cdn-ip=125.64.104.35&sent_http_access-control-allow-headers=DNT%2CX-CustomHeader%2CKeep-Alive%2CUser-Agent%2CX-Requested-With%2CIf-Modified-Since%2CCache-Control%2CContent-Type%2CRange&sent_http_cdn-source=bdcloud&sent_http_access-control-expose-headers=Content-Range%2C%20Last-Modified&sent_http_access-control-allow-credentials=true&sent_http_access-control-allow-origin=*&sent_http_access-control-allow-methods=GET%2CPOST%2COPTIONS&sent_http_cdn-user-ip=110.184.160.225"
# 请求头
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"
}
response=requests.get(url=url,headers=headers)
# 讲解作业 mp4是保存为视频的文件格式 mp3是音频文件保存格式
with open("可惜没如果.mp4","wb")as file1:
file1.write(response.content)
五、总结
爬取视频以及音乐如此一来便可以实现,不知道友友们学会了嘛。后续我还会继续更新在确定url以及user-agent中会出现一些反爬措施。希望大家能得到更多的知识。



