详解python selenium 爬取网易云音乐歌单名

详解Python Selenium爬取网易云音乐歌单名

本攻略将从以下几个方面详细介绍如何使用Python和Selenium模拟登录网易云音乐,并爬取网易云音乐歌单名。

准备工作

在开始之前,需要进行如下准备工作:

  1. 安装Python3
  2. 安装Selenium库
  3. 安装Chrome浏览器
  4. 下载Chrome浏览器对应的驱动程序(注意驱动版本与Chrome浏览器版本要匹配)

操作步骤

1. 导入相关库

首先,需要导入Selenium库中的WebDriver和Keys两个类。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

2. 打开Chrome浏览器并登录网易云音乐

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)

3. 获取歌单名

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)

示例说明

假设你想获取网易云音乐用户"最爱"的前十个歌单名,可以按照以下步骤操作:

  1. 在Chrome浏览器中登录网易云音乐账号。
  2. 打开网易云音乐用户"最爱"的主页(ID为252604054)
  3. 在浏览器地址栏中输入"http://music.163.com/user/home?id=252604054&page=1&sortType=5",回车进入该用户的歌单页。(这里获取第一页的歌单,sortType=5表示按创建时间排序;如需获取其他页的歌单可更改page的值)
  4. 复制上述第2步和第3步操作,并将page的值依次增加到10,获取相应页的歌单
  5. 打开Python编辑器,将上述Python代码拷贝到编辑器中。
  6. 注意修改代码中的用户ID、驱动程序路径、手机号和密码(如需通过邮箱登录可将代码中的手机号输入框改为邮箱输入框)。
  7. 执行代码,等待爬取完成后输出前十个歌单名。

另外,本攻略中的代码仅供学习和研究使用,请勿用于任何非法或商业用途。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解python selenium 爬取网易云音乐歌单名 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 从Pandas数据框架中的行创建一个列表 Set 2

    要从Pandas数据框架中的行创建一个列表,可以使用Pandas的”.iloc”或者”.loc”方法来选择需要使用的行,然后使用列表推导式将每行的数据转化为一个列表。 下面是一个示例代码,假设有一个数据框架df,其中包含5列数字:A、B、C、D和E,我们需要把第2、3、4行数据提取出来,组成一个列表Set 2: import pandas as pd # 创…

    python-answer 2023年3月27日
    00
  • Python数据分析:手把手教你用Pandas生成可视化图表的教程

    Python数据分析:手把手教你用Pandas生成可视化图表的教程 Pandas是Python的一种数据分析库,而数据可视化则是通过图表等方式将数据进行展示。Pandas在数据分析和可视化中广泛使用,并且Pandas内置有多种图表生成函数,方便用户进行数据的可视化展示。本教程将手把手教你用Pandas生成可视化图表。 安装Pandas 首先需要安装Panda…

    python 2023年5月14日
    00
  • Pandas – 两个日期之间的月数

    你好!要计算两个日期之间的月数,可以使用Pandas库中的DateOffset对象和date_range函数。具体步骤如下: 首先,先从Pandas库中引入需要的模块: import pandas as pd from pandas.tseries.offsets import DateOffset 接着,通过pd.to_datetime函数将字符串日期转换…

    python-answer 2023年3月27日
    00
  • Python Pandas中合并数据的5个函数使用详解

    下面我将详细讲解“Python Pandas中合并数据的5个函数使用详解”的完整攻略。 简介 在数据处理中,我们常常需要将不同来源的数据合并在一起,以方便分析和处理。在Python Pandas中,有很多种方法可以达到这个目的,其中比较常用的有以下5个函数: pd.concat() : 在行或列上拼接两个或多个DataFrame或Series df.appe…

    python 2023年5月14日
    00
  • 利用Python计算KS的实例详解

    让我们来详细讲解一下“利用Python计算KS的实例详解”。 简介 Kolmogorov-Smirnov检验(KS Test)是一种用于检验样本是否来自某个分布的非参数统计方法。在Python中,我们可以利用Scipy库中的ks_2samp函数快速地进行KS检验。 前置知识 在学习本文之前,需要掌握Python的基础语法和Scipy库的使用方法。 实例详解 …

    python 2023年5月14日
    00
  • Pandas数据框架中的重新索引

    重新索引是Pandas数据框架中的一个重要操作,可以让我们根据需要重新排序DataFrame中的行、列或者元素,或者新增或删除行、列。下面我将为大家详细介绍Pandas数据框架中的重新索引的攻略。 基本概念 在Pandas数据框架中,重新索引(reindex)是指将已有的数据从原始数据的Index序列中取出,按照新的Index序列重新排列的操作。具体而言,就…

    python-answer 2023年3月27日
    00
  • Pandas Python中数据帧的上限和下限–舍入和截断

    什么是数据帧的上限和下限? 在Pandas Python中,数据帧的上限和下限是指对数据框中的数值数据执行舍入或截断操作,从而将其舍入或截断为指定的精度、小数位数或指定的范围。 在 Pandas 中,有三种方法可以执行数据帧的上下限操作: round()函数:将数值舍入到指定的小数位数。 ceil()函数:将数值向上舍入到最接近的整数。 floor()函数:…

    python-answer 2023年3月27日
    00
  • Python学习笔记之pandas索引列、过滤、分组、求和功能示例

    Python学习笔记之pandas索引列、过滤、分组、求和功能示例 一、在pandas中添加索引列 pandas是一种数据处理工具,用于将数据以表格的形式处理。在pandas中,DataFrame是最常使用的数据结构。使用pandas处理数据时,可以为DataFrame添加索引列,提高数据的处理效率。 下面是添加索引列的示例代码: import pandas…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部