详解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数据类型之category的用法

    下面是对“Pandas数据类型之category的用法”的详细讲解攻略。 什么是category类型 Pandas中的category数据类型,称为分类数据类型,是针对具有固定数量的不同值的数据进行有效管理的数据类型。在这种数据类型中,重复的数据仅保存一次。 方便快捷地对这种数据进行分组和排序。 在数据集中,用户的性别、部门、优先级、状态、等级和类型等属性通…

    python 2023年5月14日
    00
  • python3的数据类型及数据类型转换实例详解

    Python3 数据类型及数据类型转换实例详解 在Python3中,有下列主要的数据类型: 数字(Number) 字符串(String) 列表(List) 元组(Tuple) 集合(Set) 字典(Dictionary) 数字(Number) 数字数据类型包括 int、float、bool、complex(复数)。 其中,int(整型)代表整数,float(…

    python 2023年5月14日
    00
  • 如何在Python中从Pandas数据框中获取最大值

    从 Pandas 数据框中获取最大值,可通过以下步骤完成: 首先,要导入 Pandas 库,如下所示: import pandas as pd 然后,创建一个DataFrame对象。例如: data = {‘name’: [‘John’, ‘Jane’, ‘Sam’, ‘Sylvester’, ‘Pete’], ‘age’: [23, 29, 21, 35,…

    python-answer 2023年3月27日
    00
  • Pandas中DataFrame的分组/分割/合并的实现

    Pandas是Python中非常流行的数据分析库,其中的DataFrame是一种类似于电子表格的数据结构。在处理数据时,经常需要针对不同的分组/分割/合并需求进行处理。 分组 按列值分组 DataFrame.groupby()方法可用于按一列或多列的值分组,并执行其他操作。下面是一个示例: import pandas as pd # 创建一个DataFram…

    python 2023年5月14日
    00
  • python与mysql数据库交互的实现

    下面我来详细讲解“Python与MySQL数据库交互的实现”的完整攻略。 环境准备 在开始前,需要确保你已经安装好了以下环境: Python 环境(可去官网下载安装:https://www.python.org/downloads/) MySQL 数据库(可去官网下载安装:https://dev.mysql.com/downloads/) MySQL Pyt…

    python 2023年6月13日
    00
  • 将Lambda函数应用于Pandas Dataframe

    让我们详细讲解如何将Lambda函数应用于Pandas Dataframe。 1. 理解Lambda函数 Lambda函数也称为匿名函数,是一种不需要使用def语句定义的函数。Lambda函数的结果是一个函数对象,可以用于执行某些特定任务,但是它的主要优点是可以方便地将其传递给其他函数作为参数。 例如,下面的Lambda函数是用于计算两个数的和: add =…

    python-answer 2023年3月27日
    00
  • python中isoweekday和weekday的区别及说明

    当我们使用Python中的datetime模块进行日期处理时,常常会用到weekday()和isoweekday()两个函数。虽然这两个函数都可以用于获取日期是一周中的星期几,但是它们之间确实有些区别。下面我们就来详细讲解一下它们的区别及说明。 weekday()函数 weekday()函数返回日期值是星期几,其中星期一为0,星期日为6。以下是weekday…

    python 2023年5月14日
    00
  • python3中datetime库,time库以及pandas中的时间函数区别与详解

    让我们来详细讲解一下python3中datetime库、time库和pandas中的时间函数的区别与详解。 datetime库 datetime库是Python标准库之一,可以用于处理日期和时间。其中,最常用的类是datetime.datetime类。它包含以下属性: year:年份,如2019 month:月份,范围为1-12 day:天数,范围为1-31…

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