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

100 阅读3分钟

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

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

今天在网上闲逛的时候发一下比较好的音乐下载网址,输入歌手名字有歌手全部的音乐,还可以下载无损音质的音乐

在这里插入图片描述

作为爬虫的爱好者,对此不得给安排一下?

打开F12 开发者工具,不管三七二十一,先来一顿瞎分析~

在这里插入图片描述

哦豁~ 这里面居然有数据接口,还是post请求,那这样的话就咱们就看它的data参数,那里有变化

在这里插入图片描述

在这里插入图片描述

多尝试几次之后,发现data参数,是动态变化且没有规律~

其中涉及了JS动态数据加载,这样的话,JS解密…emmmmmmmmmm

在这里插入图片描述

在这里插入图片描述

我不会呀~ 凉凉了?

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

selenium


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

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

模块安装

pip install selenium

谷歌驱动下载地址:

npm.taobao.org/mirrors/chr…

chromedriver.storage.googleapis.com/index.html

配置浏览器驱动:

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

或者

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

实现代码


import time

import requests

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument('--headless')

driver = webdriver.Chrome(executable_path='chromedriver.exe', options=chrome_options)

driver.implicitly_wait(10)

driver.get('tool.liumingye.cn/music/?page…')

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:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

了解详情:docs.qq.com/doc/DSnl3ZG…