🍖 前言
【爬虫】网易云音乐歌词/评论数据爬取
🎶一、抓取要求
描述:
输入歌曲的id,获取对应歌曲的用户评论信息
✨二、代码展示
代码如下:
from collections import OrderedDict
import requests as rq
import logging
import subprocess
import re
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - 网易音乐歌词Spider - %(message)s')
# url记得脱密
url = 'aHR0cHM6Ly9tdXNpYy4xNjMuY29tL3dlYXBpL2NvbW1lbnQvcmVzb3VyY2UvY29tbWVudHMvZ2V0'
headers = OrderedDict()
headers['user-agent'] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0"
data = {
"params": "",
"encSecKey": ""
}
time_ = ''
for page in range(1, 10):
print(['node', './js/comment.js', "2689097846", str(time_), str(page)])
result = subprocess.run(['node', './js/comment.js', "2689097846", time_, str(page)], encoding='utf-8', capture_output=True, text=True, check=True)
# 获取脚本的输出结果
output = result.stdout
pattern = re.compile(r"encText.*?'(.*?)'.*?encSecKey.*?'(.*?)'", re.S)
result = re.findall(pattern, output)
data['params'] = result[0][0]
data['encSecKey'] = result[0][1]
res = rq.post(url, headers=headers, data=data, verify=False)
logging.info("歌词获取成功:::")
# logging.info(res.json()['data']['comments'])
for item in res.json()['data']['comments']:
logging.info("评论用户:::" + item['user']['nickname'] + " 评论时间:::" + item['timeStr'] + " 评论内容:::"+item['content'])
time_ = str(res.json()['data']['comments'][-1]['time'])
🏀三、运行结果
🏆四、知识点提示
知识点1:
关键词:扣代码/补环境
需要源码的留言,球球:二三六九四三三零八四
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!!!