当前位置: 首页 > java >正文

Python获取网易云音乐的评论

图片

代码

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import jsondef get_auction_detail():# 1. 采集页面并保存html(如已有可跳过)chrome_options = Options()chrome_options.add_argument('--disable-gpu')chrome_options.add_argument('--no-sandbox')chrome_options.add_argument('--disable-dev-shm-usage')chrome_options.add_argument('--disable-blink-features=AutomationControlled')chrome_options.add_argument('--disable-extensions')chrome_options.add_argument('--ignore-certificate-errors')chrome_options.add_argument('--window-size=1920,1080')chrome_options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe"chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36')# 启用性能日志chrome_options.set_capability('goog:loggingPrefs', {'performance': 'ALL'})try:print("正在初始化Chrome驱动...")service = Service(ChromeDriverManager().install())driver = webdriver.Chrome(service=service, options=chrome_options)print("Chrome驱动初始化成功")# 启用网络请求监听driver.execute_cdp_cmd('Network.enable', {})# 存储评论API的响应comment_responses = []print("访问网易歌曲...")driver.get("https://music.163.com/#/song?id=2711475385")# 等待页面加载完成time.sleep(5)# 获取所有网络请求logs = driver.get_log('performance')# 处理网络请求日志for entry in logs:try:log = json.loads(entry['message'])['message']if 'Network.responseReceived' in log['method']:url = log['params']['response']['url']if 'weapi/comment/resource/comments/get' in url:request_id = log['params']['requestId']# 获取响应体response_body = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': request_id})if 'body' in response_body:comment_data = {'url': url,'data': response_body['body']}comment_responses.append(comment_data)print(f"成功捕获评论数据: {url}")except Exception as e:continue# 保存评论数据if comment_responses:with open('comment_data.json', 'w', encoding='utf-8') as f:json.dump(comment_responses, f, ensure_ascii=False, indent=2)print("评论数据已保存到 comment_data.json")else:print("未捕获到评论数据")except Exception as e:print(f"采集页面时发生错误: {e}")finally:try:driver.quit()except:passif __name__ == "__main__":get_auction_detail()

http://www.xdnf.cn/news/12445.html

相关文章:

  • art-pi2 上手记录(二)
  • ㊗️高考加油
  • Linux驱动学习day2
  • Python——day46通道注意力(SE注意力)
  • EM储能网关ZWS智慧储能云应用(11) — 一级架构主从架构
  • Pycharm中添加不了新建的Conda环境(此篇专门给Daidai写的)
  • 【Linux】文件操作
  • 大数据学习(132)-HIve数据分析
  • VMware 安装 CentOS8详细教程 (附步骤截图)附连接公网、虚拟机yum源等系统配置
  • 【各种主流消息队列(MQ)对比指南】
  • Appium+python自动化(十)- 元素定位
  • 消息队列高级特性与原理:解锁分布式系统的底层逻辑
  • springcloud SpringAmqp消息队列 简单使用
  • Semaphore - 信号量
  • JavaScript 中的单例内置对象:Global 与 Math 的深度解析
  • 护网行动面试试题(1)
  • 【芯片设计- RTL 数字逻辑设计入门 4.2 -- 组合逻辑赋值 + 时序逻辑状态保持】
  • 电脑要不要经常更新系统
  • SpringBoot自动配置原理深度解析
  • JAVA毕业设计224—基于Java+Springboot+vue的家政服务系统(源代码+数据库)
  • JS实现OSS断点续传
  • 第二届智慧教育与计算机技术国际学术会议(IECT 2025)
  • 抢占2025短剧风口!专业短剧系统开发,打造您的爆款内容平台
  • vm+ubuntu24.04扩展磁盘
  • [环境搭建篇] Windows家庭版如何安装Docker工具
  • 5.3 Spring Boot整合JPA
  • IoT/HCIP实验-4/单片机基础实验(LCD/LED/按键操作/GPIO/EXTI中断服务)
  • 深入理解 Linux 进程控制
  • Vue 3 Teleport 实战:优雅实现模态框、通知和全局组件
  • CMake GLOB返回路径规则及示例