Python爬虫系列16-采集网易音乐百万好听的歌曲进行批量下载

简介: 业精于勤而荒于嬉,行成于思而毁于随。吃得苦中苦,方为人上人,受得累中累,方成富贵人。完全赞同

实战

image.png

第一步:请求网络链接先获取到网站返回数据


import requests
from lxml import etree

cookies = {
    '_ntes_nnid': 'aa83197e2faf6f06a6599baf24b3418f,1636546158090',
    'NMTID': '00O_4a1Ksfjt8lY1UEkriEl1Ik5yAEAAAF-i9Ao1Q',
    'WNMCID': 'uhexut.1643026186736.01.0',
    'WEVNSM': '1.0.0',
    'WM_TID': '8cq4tB6m0mBBFVUREVdvjxZEswHWwVXc',
    '_ntes_nuid': 'aa83197e2faf6f06a6599baf24b3418f',
    '_iuqxldmzr_': '32',
    'ntes_kaola_ad': '1',
    'JSESSIONID-WYYY': 'I2U9%5CTv%5Cog%5CXZ%5CgroWkmFHoowf8pMgXEqf13F3F5fEDAGWMlAMq50jqRADXvvCsdRshDN6T%5CaGVWEIMZXxbIMXiK5NwlW5E3dmWqujPacyXYUtbat1O9j8RV8vK%2F2QP93Av3YX3nenYXhcyu8DG8BgZapJRG5nj5o2qQDZw%5CVnVWJak4%3A1658580273713',
    'WM_NI': 'mZ3qnftT0NW1rAaRMxmMbpsOdDTMMvyvUX87SciskowqIITK2VyGzPos0kF0EEHeHhcqn4xED0Rteh6xE%2Fk%2Bn3xVdxBWmU4e3K22W1ZrHmuKXdeasKUzmRwfSC5JpMbNSjY%3D',
    'WM_NIKE': '9ca17ae2e6ffcda170e2e6ee99c87ea2bea7b2c96b838e8bb6d85f829b9e83c54987b796d0b7799888e188cc2af0fea7c3b92aaf86fd92ed6eb88c00afd63bb29fafb3d074af93ae91f245a89c9caed07ebbaa9bb9bb3d91bda794ea65b5af87aad741f28ab7a8f95cadad008cc53c879b8886cb64a1afa2d5fb4f88f09e95e864f6a88bd0ea21aeedb8b7e7748289a3b6b76ff195fed3d63b9aae888ef8419cbcab82f24197a6a3b3f66e919dfbabf347a2929d8bdc37e2a3',
}

headers = {
    'authority': 'music.163.com',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'accept-language': 'zh-CN,zh;q=0.9','referer': 'https://music.163.com/',
    'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'iframe',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
}

params = {
    'id': '4980157066',
}

response = requests.get('https://music.163.com/playlist', params=params, cookies=cookies, headers=headers)
print(response.text)

image.png

第二步:通过xpath进行数据解析

加载的数据 = etree.HTML(response.text)

提取的数据 = 加载的数据.xpath('//ul[@class="f-hide"]/li/a/@href')

print(提取的数据)

image.png
如果学习上有遇到问题,想联系我可以加v:yiyi990805(备注:阿里云tony)即可。

第三步:持久化 保存数据

替换 = tony.replace('/song?id=','')
   
网址MP3 = f'https://link.hhtjim.com/163/{替换}.mp3'
print(网址MP3)
mp3 = requests.get(网址MP3, params=params, cookies=cookies, headers=headers)
# 打开某个文件
file = open('Tony老师的音乐.mp3','wb')
file.write(mp3.content)

image.png

结果展示

image.png

在这个浮躁的时代;竟然还有人能坚持篇篇原创;

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

支持原创。感谢!

相关文章
|
5天前
|
数据采集 存储 JSON
Python网络爬虫教程概览
【6月更文挑战第21天】Python网络爬虫教程概览:安装requests和BeautifulSoup库抓取网页;使用HTTP GET请求获取HTML,解析标题;利用CSS选择器提取数据;处理异步内容可选Selenium;遵循爬虫策略,处理异常,尊重法律与网站规定。
15 1
|
1天前
|
数据采集 机器学习/深度学习 数据可视化
利用Python进行网络爬虫和数据抓取
在当今数字化时代,数据是无处不在的。从市场趋势到个人偏好,从社交媒体活动到商业智能,数据扮演着关键的角色。然而,访问、处理和利用数据并不总是轻而易举的。幸运的是,Python提供了一套强大而灵活的工具,使得网络爬虫和数据抓取成为可能。本文将深入探讨如何利用Python进行网络爬虫和数据抓取,为您打开数据世界的大门。
|
10天前
|
数据采集 存储 数据挖掘
Python网络爬虫实战:抓取并分析网页数据
使用Python的`requests`和`BeautifulSoup`,本文演示了一个简单的网络爬虫,抓取天气网站数据并进行分析。步骤包括发送HTTP请求获取HTML,解析HTML提取温度和湿度信息,以及计算平均温度。注意事项涉及遵守robots.txt、控制请求频率及处理动态内容。此基础爬虫展示了数据自动收集和初步分析的基础流程。【6月更文挑战第14天】
86 9
|
5天前
|
数据采集 存储 分布式计算
Nutch爬虫在大数据采集中的应用案例
Nutch爬虫在大数据采集中的应用案例
|
22天前
|
数据采集 JSON API
自动化Reddit图片收集:Python爬虫技巧
自动化Reddit图片收集:Python爬虫技巧
|
22天前
|
数据采集 安全 数据处理
Python采集数据处理:利用Pandas进行组排序和筛选
使用Python的Pandas库,结合亿牛云代理和多线程技术,提升网络爬虫数据处理效率。通过代理IP避免封锁,多线程并发采集,示例代码展示数据分组、排序、筛选及代理IP配置和线程管理。
Python采集数据处理:利用Pandas进行组排序和筛选
|
2天前
|
数据采集 Web App开发 存储
Python爬虫基础讲解
Python爬虫基础讲解
|
29天前
|
数据采集 存储 中间件
Python高效爬虫——scrapy介绍与使用
Scrapy是一个快速且高效的网页抓取框架,用于抓取网站并从中提取结构化数据。它可用于多种用途,从数据挖掘到监控和自动化测试。 相比于自己通过requests等模块开发爬虫,scrapy能极大的提高开发效率,包括且不限于以下原因: 1. 它是一个异步框架,并且能通过配置调节并发量,还可以针对域名或ip进行精准控制 2. 内置了xpath等提取器,方便提取结构化数据 3. 有爬虫中间件和下载中间件,可以轻松地添加、修改或删除请求和响应的处理逻辑,从而增强了框架的可扩展性 4. 通过管道方式存储数据,更加方便快捷的开发各种数据储存方式
|
7天前
|
数据采集 前端开发 JavaScript
Python爬虫技术:动态JavaScript加载音频的解析
Python爬虫技术:动态JavaScript加载音频的解析
|
28天前
|
数据采集 存储 C++
单线程 vs 多进程:Python网络爬虫效率对比
本文探讨了Python网络爬虫中的单线程与多进程应用。单线程爬虫实现简单,但处理速度慢,无法充分利用多核CPU。而多进程爬虫通过并行处理提高效率,更适合现代多核架构。代码示例展示了如何使用代理IP实现单线程和多进程爬虫,显示了多进程在效率上的优势。实际使用时还需考虑代理稳定性和反爬策略。
单线程 vs 多进程:Python网络爬虫效率对比