web UI自动化 python+selenium 爬取网易云排行榜歌曲列表

本文介绍了一种使用Selenium和Python爬取网易云音乐排行榜歌曲列表的方法。通过定义一个类,可以输入任意榜单名称,然后自动切换到相应的榜单页面并抓取所有歌曲名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from selenium import webdriver
import time,csv

class music163: #定义类
def init(self,ranking):
self.ranking = ranking #静态函数:输入要查询的排行榜名称

def run(self):
    driver = webdriver.Chrome(r'd:\chromedriver.exe')   #调用webdriver驱动
    url = 'https://music.163.com/'
    driver.get(url)   #访问网易云
    driver.maximize_window()    #最大化窗口
    driver.implicitly_wait(10)   # 隐式等待
    driver.find_element_by_xpath('//a[@data-module="toplist"]').click()  #进入排行榜框架
    driver.implicitly_wait(10)  # 隐式等待
    driver.switch_to.frame('contentFrame')   #元素定位跳转到iframe框架下

    rankings = driver.find_elements_by_xpath('//a[@class="s-fc0"]')  #获取排行榜信息

    for rank in rankings:     # 遍历排行榜
        if rank.text==self.ranking:  #定位到需要查询的排行榜名称
            rank.click()  #点击进入
            driver.implicitly_wait(10) # 隐式等待
            self.songlist(driver)  #获取排行榜歌曲列表并打印
            break #跳出循环

def songlist(self,driver):    #获取排行榜歌曲列表
    songs = driver.find_elements_by_xpath('//span[@class="txt"]//b[@title]')  #获取该排行榜下的所有歌曲名称
    for song in songs:   #遍历该排行榜歌曲
        print(song.text) #打印输出

rankingname = input(“请输入要查询的榜单名称:”)

music163(ranking=rankingname).run() #调用该类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值