Python实现爬虫程序,付费歌曲一样可以免费下载~

article/2025/9/8 14:04:17

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

今天在网上闲逛的时候发一下比较好的音乐下载网址,输入歌手名字有歌手全部的音乐,还可以下载无损音质的音乐
在这里插入图片描述
作为爬虫的爱好者,对此不得给安排一下?

打开F12 开发者工具,不管三七二十一,先来一顿瞎分析~
在这里插入图片描述
哦豁~ 这里面居然有数据接口,还是post请求,那这样的话就咱们就看它的data参数,那里有变化
在这里插入图片描述
在这里插入图片描述
多尝试几次之后,发现data参数,是动态变化且没有规律~

其中涉及了JS动态数据加载,这样的话,JS解密…emmmmmmmmmm
在这里插入图片描述
在这里插入图片描述

我不会呀~ 凉凉了?

怎么可以就这样放弃了~ 不会JS 那咱们就用另外一种方法~ selenium

selenium

Selenium 是一个 Web 的自动化测试工具,最初是为网站自动化测试而开发的,就像玩游戏用的按键精灵,可以按指定的命令自动操作。

Selenium 测试工具直接操控浏览器中,就像真正的用户在操作一样。Selenium 可以根据的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生等。

模块安装

pip install selenium

谷歌驱动下载地址:

https://npm.taobao.org/mirrors/chromedriver/
http://chromedriver.storage.googleapis.com/index.html

配置浏览器驱动:

将下载好的浏览器驱动解压,将解压出的 exe 文件放到Python的安装目录下,也就是和python.exe同目录即可。

或者

把驱动和代码放在同一个路径里面~

实现代码

import time
import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Optionschrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(executable_path='chromedriver.exe', options=chrome_options)
driver.implicitly_wait(10)
driver.get('http://tool.liumingye.cn/music/?page=searchPage')
driver.find_element_by_css_selector('#input').send_keys('张杰')
driver.find_element_by_css_selector('#search  button:nth-child(2) i').click()"""保存歌曲数据"""
def download(name, url):filename = '音乐\\' + name + '.mp3'response = requests.get(url=url)with open(filename, mode='wb') as f:f.write(response.content)"""模拟人去滚动鼠标向下浏览页面"""
def drop_down():for x in range(1, 20, 10):time.sleep(0.5)j = x / 10js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight * %f' % jdriver.execute_script(js)"""解析网站数据获取歌曲名字以及歌曲下载地址"""
lis = driver.find_elements_by_css_selector('#player li')
f = 0
for li in lis:f += 1time.sleep(1)name = li.find_element_by_css_selector('.aplayer-list-title').textli.find_element_by_css_selector('.aplayer-list-download').click()time.sleep(1)down_url = driver.find_element_by_css_selector('#m-download > div > div > div.modal-body > div:nth-child(6) > div.input-group-append > a.btn.btn-outline-secondary.download').get_attribute('href')time.sleep(1)driver.find_element_by_css_selector('#m-download > div > div > div.modal-header > button').click()# time.sleep(1)download(name, down_url)print(name, down_url)if f % 10 == 0:drop_down()

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/kJaHKAsN.shtml

相关文章

无损音乐下载网站推荐

分享个无损音乐下载网站资源更新快,下载速度可跑满带宽,在线听音乐没有任何限制音乐专辑可下载到U盘 车载音乐前线:app.benergu.cn

如何下载收费歌曲(不用任何软件插件,安全无毒)

前言:如果可以的话还是支持正版吧(这个方法也可以下载视频)。 (qq音乐貌似已经不能这要操作) step1:在网页上打开一首歌(我用的浏览器是Chrome,其他浏览器也大同小异),这里打开一首…

下载付费音乐

给大家一个下载付费音乐的方法: 1. 用火狐浏览器打开QQ音乐,输入你想要下载的音乐,进入播放界面,右击鼠标选择查看页面信息,然后选择媒体选项,选择音频文件,右击复制链接,然后在导航…

搜罗到一个简洁、支持免费听和下载全网音乐的网站

推荐一个非常好的音乐网站,不仅可以在线试听,动态歌词显示,还能支持多平台歌曲搜索、下载,界面非常简洁,除了音乐,什么都没有。 简直是福音啊! 首页打开之后,界面是这个样子&#…

付费音乐如何下载???

小伙伴们在听音乐的时候 应该都遇到过有一首比较好听的音乐 想下载但是需要花钱钱开通VIP这种类似的问题 面对这种问题作者发现了一个小方法 普通用户也可以进行下载 下面说一下具体的步骤 首先你要准备一个电脑, 能打开浏览器可以上网的 在浏览器里搜索自己想要下载的歌…

免费下载收费音乐

示例:网易云音乐(其他音乐也是同等方法,相如QQ音乐等需要转码) 1、用浏览器打开网易云音乐https://music.163.com/ 2、然后打开想下载的收费音乐,直接按 F12 键,点击 控制台 的“Network”,然…

如何免费下载付费音乐

现在很多音乐都需要付费或者开通会员才能下载,对于博主这种贫穷学生来说就很难受,相信大家也会有这种困扰(土豪除外),所以这里我就教大家如何免费下载付费音乐。 比如下面这种情况,顺便推荐下我的网易云&a…

将数据导入到Excel表格

目的:将数据库数据导出到Excle中,方便本地存储数据。 具体步骤:将数据库数据读取到本地,通过list数组的方式存储,然后调用HSSFWorkbook 、HSSFSheet、HSSFRow等三个类方法进行数据写入,并通过FILe进行文件…

Excel导入导出百万级数据

Excel百万级数据导入导出方案 本文使用EasyExcel工作,导出格式XLSX 1.生成测试数据 这里用到的是MYSQL 5.7.31 创建表语句 CREATE TABLE ACT_RESULT_LOG (onlineseqid int(11) NOT NULL AUTO_INCREMENT,businessid varchar(32) COLLATE utf8mb4_unicode_ci DEFA…

Excel数据的导入

一、实现功能 将创建好的Excel文件内容导入到渲染好的表格中; 初始状态如下: 图一:点击导入的初始状态 功能介绍:如图点击导入按钮弹出导入学生的模态窗体内容如图一,1.将想要的模板提前准备好点击下载按钮经过控制…

Excel导入和导出

一、添加需要用到的依赖 <!-- 实体类工具 --> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional> </dependency><!-- excel工具 --> <dependency&…

Java实现Excel导入和导出

1. 功能测试 1.1 测试准备 在做测试前&#xff0c;我们需要將【2. 环境准备】中的四个文件拷贝在工程里&#xff08;如&#xff1a;我这里均放在了com.zyq.util.excel 包下&#xff09;。 1.2 数据导入 1.2.1 导入解析为JSON 比如&#xff0c;我们有下面一个表格&#xff1…

前端 - excel导入 / 导出功能

1. 导入功能 1.1 前端主导(工作大量在前端) 上传excel文件&#xff0c;把excel文件的内容读出来&#xff0c;还原成最基本的行列结构&#xff0c;按后端的接口要求回传过去。 前端读excel文件&#xff0c;调接口 1.2 后端主导(工作大量在后端) 前端上传excel文件 1.3 实现 …

excel导入功能

------这里只是测试类------实际使用的看下面 需要用到ExcelUtils工具类 ExcelUtils的主要作用是把Excel转化成 List<List<Object>>类型的数据&#xff0c;方便遍历 package tech.niua.common.excelimport;import java.io.IOException; import java.io.InputStream…

Java实现Excel导入导出操作详解

本文转载自 :Java实现Excel导入和导出&#xff0c;看这一篇就够了(珍藏版)_zyqok的博客-CSDN博客_excel导入 java前言最近抽了两天时间&#xff0c;把Java实现表格的相关操作进行了封装&#xff0c;本次封装是基于POI的二次开发&#xff0c;最终使用只需要调用一个工具类中的方…

EasyExcel实现excel导入

文章目录 前言一、使用步骤1.添加依赖&#xff1a;2.创建和实体类对应的用于导入导出的模板类&#xff0c;尽量不要直接使用实体类。每个字段需添加ExcelProperty注解&#xff0c;作为导入导出的识别的依据。注意value值是跟excel里的列名保持一致&#xff0c;不是跟数据库里的…

Excel表格的导入导出——EasyExcel

参考视频 csdn参考地址 一、导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version> </dependency>二、实体类 方式一&#xff1a;Excel Property&#xff08;&…

实现Excel的导入、导出

实现Excel的导入、导出 关于excel的操作在工作中经常会遇到&#xff0c;如果只是一次性使用的话&#xff0c;最简单的方式就是通过数据库的可视化工具&#xff08;如Navicat&#xff09;查询结果集之后直接一键生成excel了&#xff0c;当然这只能解燃眉之急&#xff0c;并不是…

EasyExcel复杂excel导入

EasyExcel复杂excel导入 easyexcel官方都是一些简单的导入到处示例&#xff0c;复杂的excel文档导入&#xff0c;还得自己去慢慢琢磨、百度、思考、总结、学习、观察。 代码地址在文档的最后&#xff0c;如果你也遇到这种需求&#xff0c;不妨动动你的小拇指&#xff0c;点个…

导出Excel的方式

*数据是表格的形式&#xff0c;进常用到Excel *在程序中经常可以看到有导出Excel文档&#xff0c;Excel导入数据的情况&#xff0c;现在我就说一下我学到的导出Excel *导出Excel有两种方法&#xff0c;第一种是自己设置表头的&#xff0c;第二种是填充的&#xff0c;现在我说的…