webdriver 抓取歌曲
import time import requests from selenium import webdriver import os from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36') driver = webdriver.Chrome(executable_path='chromedriver.exe', options=chrome_options) driver.maximize_window() 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() """保存歌曲数据""" os.chdir(r"E:/ntmssFile/") def download(name, url): filename = '音乐\\' + name + '.mp3' response = requests.get(url=url) with open(filename, mode='wb') as f: f.write(response.content) """解析网站数据获取歌曲名字以及歌曲下载地址""" while True: text = driver.find_element_by_css_selector('#player > div.aplayer-more').text if text == '下一页': try: time.sleep(3) driver.find_element_by_css_selector('#player > div.aplayer-more').click() except: continue elif text == '没有了': break lis = driver.find_elements_by_css_selector('#player li') f = 0 for li in lis: try: f += 1 time.sleep(3) name = li.find_element_by_css_selector('.aplayer-list-title').text li.find_element_by_css_selector('.aplayer-list-download').click() time.sleep(3) 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(3) driver.find_element_by_css_selector('#m-download > div > div > div.modal-header > button').click() download(name, down_url) print(name, down_url) except: continue
https://files.cnblogs.com/files/luweiweicode/chromedriver.zip 驱动下载
故乡明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话