用python爬取网易云音乐会员
时间: 2023-10-01 20:02:08 浏览: 87
由于网易云音乐会员是需要登录的,所以需要先登录账号才能爬取会员内容。这里提供一个使用selenium自动登录的示例代码:
```python
from selenium import webdriver
import time
# 打开浏览器
browser = webdriver.Chrome()
# 打开登录页面
browser.get('https://music.163.com/')
# 等待页面加载完成
time.sleep(2)
# 切换到iframe
browser.switch_to.frame('contentFrame')
# 点击登录按钮
btn = browser.find_element_by_xpath('//a[@class="navi n-enter"]/i')
btn.click()
# 切换到iframe
browser.switch_to.frame('g_iframe')
# 输入账号密码
username = browser.find_element_by_xpath('//input[@name="username"]')
password = browser.find_element_by_xpath('//input[@name="password"]')
username.send_keys('your_username')
password.send_keys('your_password')
# 点击登录按钮
btn = browser.find_element_by_xpath('//a[@class="j-primary n-btn n-btn-primary"]')
btn.click()
# 等待登录完成
time.sleep(5)
# 切换回主窗口
browser.switch_to.default_content()
```
这里需要替换`your_username`和`your_password`为自己的账号密码。
登录完成后,就可以通过requests库来爬取会员内容了,例如:
```python
import requests
url = 'https://music.163.com/api/vip/member/info'
headers = {
'Referer': 'https://music.163.com/',
'Cookie': 'your_cookie',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36'
}
response = requests.get(url, headers=headers)
print(response.json())
```
这里需要替换`your_cookie`为登录后的cookie值。