如何让程序像人一样的去批量下载歌曲?Python爬取付费歌曲
前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 。
私信小编01即可获取大量Python学习资料
今天来教大家一个自动化爬虫的工具 selenium
seleniumSelenium 是一个 Web 的自动化测试工具 , 最初是为网站自动化测试而开发的 , 就像玩游戏用的按键精灵 , 可以按指定的命令自动操作 。
Selenium 测试工具直接操控浏览器中 , 就像真正的用户在操作一样 。 Selenium 可以根据的指令 , 让浏览器自动加载页面 , 获取需要的数据 , 甚至页面截屏 , 或者判断网站上某些动作是否发生等 。
项目目标今天的目标是爬取付费歌曲
受害者地址
文章插图
先给大家看下效果
爬虫代码导入工具
import timeimport requestsfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Options
解析网页
打开F12 开发者工具 , 不管三七二十一 , 先来一顿瞎分析~
文章插图
哦豁~ 这里面居然有数据接口 , 还是post请求 , 那这样的话就咱们就看它的data参数 , 那里有变化
文章插图
文章插图
driver = webdriver.Chrome(executable_path='chromedriver.exe', options=chrome_options)# key_world = input('请输入歌手名字:')driver.get('')driver.find_element_by_css_selector('#input').send_keys('张杰')driver.find_element_by_css_selector('#searchbutton:nth-child(2) i').click()def download(name, url):filename = 'C:\\Users\\Administrator\\Desktop\\音乐\\' + 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 = 0for li in lis:f += 1name = li.find_element_by_css_selector('.aplayer-list-title').textli.find_element_by_css_selector('.aplayer-list-download').click()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')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()
【如何让程序像人一样的去批量下载歌曲?Python爬取付费歌曲】运行代码后 , 效果如下
文章插图
文章插图
文章插图
- Chiplet如何开拓半导体技术的未来
- 如何编写JAVA小白第一个程序
- 如何进行不确定度估算:模型为何不确定以及如何估计不确定性水平
- 免费小程序制作软件哪个好呢?值得推荐的制作平台
- 学大数据是否有前途 如何系统掌握大数据技术
- Python爬虫入门第一课:如何解析网页
- 小辣椒要移花接木,金立要借尸还魂,抄袭现象如何破
- 如何使用 lshw 查看 Linux 设备信息
- 华为科普:芯片是如何设计的
- 网络安全:如何使用MSFPC半自动化生成强大的木码?「下集」