本攻略将从以下几个方面详细介绍如何使用Python和Selenium模拟登录网易云音乐,并爬取网易云音乐歌单名。
在开始之前,需要进行如下准备工作:
首先,需要导入Selenium库中的WebDriver和Keys两个类。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('/path/to/chromedriver') # 指定Chrome驱动程序路径
driver.get("http://music.163.com/")
driver.switch_to.frame("contentFrame") # 进入iframe才能找到元素
login_btn = driver.find_element_by_css_selector("a[data-action='login']")
login_btn.click()
phone_login_btn = driver.find_element_by_css_selector("a[data-type='1']")
phone_login_btn.click()
phone_input = driver.find_element_by_css_selector("input[name='username']")
phone_input.send_keys("手机号")
password_input = driver.find_element_by_css_selector("input[name='password']")
password_input.send_keys("密码")
password_input.send_keys(Keys.RETURN)
playlist_name_list = []
for i in range(1, 10): # 假设要获取前10个歌单名
driver.get(f"http://music.163.com/user/home?id={用户ID}&page={i}&sortType=5") # 假设用户ID为123456
driver.switch_to.frame("contentFrame")
playlists = driver.find_elements_by_css_selector("a.msk") # 获取歌单链接
for playlist in playlists:
playlist_name = playlist.get_attribute("title") # 获取歌单标题
playlist_name_list.append(playlist_name)
print(playlist_name_list)
假设你想获取网易云音乐用户"最爱"的前十个歌单名,可以按照以下步骤操作:
另外,本攻略中的代码仅供学习和研究使用,请勿用于任何非法或商业用途。
本文链接:http://task.lmcjl.com/news/17503.html