selenium爬取网易云歌单创作者
时间: 2023-12-04 17:41:56 浏览: 138
以下是使用Python Selenium爬取网易云音乐歌单创作者的示例代码:
```python
from selenium import webdriver
# 创建浏览器对象
browser = webdriver.Chrome()
# 打开网易云音乐歌单页面
browser.get('https://music.163.com/#/playlist?id=歌单ID')
# 切换到iframe
browser.switch_to.frame('contentFrame')
# 获取歌单创作者
creator = browser.find_element_by_css_selector('.user.f-ff2.s-fc3').text
# 输出歌单创作者
print('歌单创作者:', creator)
# 关闭浏览器
browser.quit()
```
其中,需要将代码中的“歌单ID”替换为实际的歌单ID。可以通过在网易云音乐中打开歌单页面,查看URL中的“id=”后面的数字即为歌单ID。
相关问题
python selenium爬取网易云歌单
在Python中使用Selenium库爬取网易云音乐的歌单,通常涉及以下步骤:
1. 安装依赖:首先需要安装Selenium库及其对应的浏览器驱动(如ChromeDriver),你可以通过pip安装它们:
```
pip install selenium webdriver_manager
```
2. 初始化浏览器:导入必要的模块并创建一个浏览器实例:
```python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
```
3. 访问网页:打开网易云音乐首页,然后找到登录或跳过登录的方式,因为有些歌单可能需要登录才能查看:
```python
driver.get('https://music.163.com/')
```
4. 登录或模拟登录(如果需要):这一步取决于你的需求,如果是公开歌单,则不需要登录;如果需要私密歌单权限,可以考虑模拟登录或手动输入账号密码。
5. 找到歌单元素:使用CSS选择器或XPath定位歌单列表和详细信息元素。例如,歌单标题可以用`//a[@class='n3']`这样的表达式。
6. 爬取数据:遍历歌单列表,获取每个歌单的名称、链接等信息,并可能进一步点击进入详细页抓取歌曲列表。
7. 数据处理:将抓取的数据保存到文件或数据库中。
8. 关闭浏览器:完成任务后,记得关闭浏览器会话:
```python
driver.quit()
```
python selenium 爬取网易云音乐歌单名
使用Python的Selenium库可以实现爬取网易云音乐歌单名的功能。首先,我们需要安装Selenium库,并下载对应的WebDriver,如ChromeDriver。然后按照以下步骤进行操作:
1. 导入必要的库和模块:
```python
from selenium import webdriver
import time
```
2. 创建浏览器对象并打开网易云音乐的歌单页面:
```python
url = 'https://music.163.com/#/discover/playlist/'
window = webdriver.Chrome('./chromedriver')
window.get(url)
time.sleep(1)
```
3. 切换到iframe窗口:
```python
iframe = window.find_element_by_id('g_iframe')
window.switch_to.frame(iframe)
```
4. 提取歌单名:
```python
music_list = window.find_elements_by_xpath('//ul[@class="m-cvrlst f-cb"]/li')
for music_element in music_list:
print(music_element.text)
print()
print('*'*20)
```
5. 获取下一页并继续提取歌单名,直到没有下一页为止:
```python
page = 1
while True:
time.sleep(2)
next = window.find_element_by_link_text('下一页')
if not next.get_attribute('class') == 'zbtn znxt js-disabled':
next.click()
else:
break
time.sleep(1)
music_list = window.find_elements_by_xpath('//ul[@class="m-cvrlst f-cb"]/li')
for music_element in music_list:
print(music_element.text)
print()
print(page,'*'*20)
page += 1
```
6. 退出浏览器:
```python
window.quit()
```
阅读全文