Python网络爬虫与信息提取!爬虫批量搜索音乐并下载!

本文介绍如何使用Python结合selenium控制已打开的Chrome浏览器,实现批量搜索和下载指定歌曲的目标。首先在终端中执行命令打开Chrome浏览器,然后通过编写代码配置网页驱动,设置静音,初始化歌曲列表,批量获取歌曲URL并下载。最后提供了完整代码以供参考和验证。
摘要由CSDN通过智能技术生成

目标

将想要下载的歌曲名字存在列表中,批量搜索并下载代码。

准备

因为webdriver打开网页缓慢的原因,我考虑使用selenium控制已经打开的chrome网页,毕竟直接用chrome搜索歌曲和打开网页还是很快的。首先在pycharm中打开终端,输入以下命令切换到谷歌浏览器目录下:

cd \d C:\Program Files (x86)\Google\Chrome\Application
1

执行命令打开谷歌浏览器并保存配置在本地,这里路径可以选择和代码同级目录:

chrome.exe --remote-debugging-port=9222 --user-data-dir="e:\py_code\Reptile"
1

执行后会打开谷歌浏览器 ,在地址栏输入我们的网址:

http://www.gequdaquan.net/gqss/index.html

OK,准备工作完成!接下来交给脚本干活。

代码设计

网页驱动的配置:

	chrome_options = Options()
    # chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
    chrome_options.debugger_address = "127.0.0.1:9222"
    chrome_driver = "chromedriver.exe"
    driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)

这没啥好讲的,固定格式和端口号,具体参照谷歌中自动控制说明。

网页静音

因为前一篇文章说了下载歌曲需要点击播放,所以静音好点:

    try:
        driver.find_element_by_xpath("//a[@class='player-btn btn-quiet']").click()
    except:
        pass

这里用try except框架,因为如果用户点击了静音,再一次点击是静音按钮的class属性会发生变化从而找不到对应的xpath会引发异常,所以如果异常直接跳过即可。

初始化

这里初始化搜索的所有歌曲名字,本地保存路径和歌曲下载地址的列表:

    search_name = ["万有引力","苦笑"]
    savaer_path = "D://music//"
    list = []


批量获取url

下面这段代码调用我们自己写的getMusicUrl函数获取每个搜索名字对应歌曲的URL:

    print("开始获取url")
    for name in search_name:
        music_url = getMusicUrl(driver,name)
        list.append(music_url)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值