QQ音乐评论爬虫程序【原创】

news2024/9/27 19:15:08

在这里插入图片描述
先找到一首歌,把请求参数替换到下面程序中
例如:
‘g_tk_new_20200303’: ‘5381’,
‘g_tk’:‘5381’,
‘topid’:‘102636799’, //歌曲ID
‘cv’:‘4747474’

在这里插入图片描述
#此处修改请求的页数
if page >=10:
break

import requests
from urllib import parse
import json
import pandas as pd
import os
import time


page = 0

df_all = pd.DataFrame()

while True:
	comment_url = "https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?"
	headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'}
	params = {
	'g_tk_new_20200303': '5381',
	'g_tk':'5381',
	'loginUin':'0',
	'hostUin':'0',
	'format':'json',
	'inCharset':'utf-8',
	'outCharset':'utf-8',
	'notice':'0',
	'platform':'yqq.json',
	'needNewCode':'0',
	'cid':'205360772',
	'reqtype':'1',
	'biztype':'1',
	'topid':'102636799',
	'cmd':'8',
	'needmusiccrit':'0',
	'pagenum':'0',
	'pagesize':'25',
	'lasthotcommentid':'',	
	'domain':'qq.com',
	'ct':'24',
	'cv':'4747474'
	}

	params= parse.urlencode(params)
	url = comment_url + params
	response = requests.get(url,headers=headers)
	result = response.text
	comment_info = json.loads(result)

	topid = comment_info['topid']
	topic_name=comment_info['topic_name']

	comment = comment_info['comment']
	comment_total = comment['commenttotal']
	comment_list = comment['commentlist'] 
	page_total =int((comment_total-1)/25) + 1
	
	#此处修改请求的页数
	if page >=10:
	    break

	df_all = pd.DataFrame()  
	for i in comment_list:
	    
	    comment_id = i['commentid']
	    avatar_url =i['avatarurl']
	    nick=i['nick']
	    try:
	        content=i['rootcommentcontent']
	    except Exception as e:
	        content = ''
	        
	    comment_time=i['time']
	    timeArray  = time.localtime(comment_time)
	    comment_time = time.strftime("%Y年%m月%d日 %H:%M:%S", timeArray)
	    
	    praise_num=i['praisenum']
	    vip_icon=i['vipicon']
	    if vip_icon == '' :
	    	vip_icon = '未开通会员'
	    else:
	        vip_icon = vip_icon[-9:-4]    
	        
	    df = pd.DataFrame({
	        '评论ID':comment_id,
	        '头像链接':avatar_url,
	        '昵称':nick,
	        '评论内容':content,
	        '评论时间':comment_time,
	        '点赞数量':praise_num,
	        '等级图标':vip_icon
	    },index=[0])
	    
	    df_all = pd.concat([df_all,df], ignore_index=True)
	    
	page = page + 1
	time.sleep(1)
	print("第"+str(page)+"页内容获取完毕")
	
df_all.to_excel(os.getcwd()+"\\"+topic_name+'_'+str(comment_total)+'_最新评论.xlsx',index = False)


在这里插入图片描述
爬取的数量不对,有些删除的评论也在。
只提供思路,仅用于学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1310089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多组别cellchat

不同分组之间的配对分析 ⚠️:配对分析必须保证细胞类型是一样的,才可以进行配对。如果 两个样本的细胞类型不一样又想进行配对分析时,可以用subset把两个样本的细胞类型取成一致的。 1. 数据准备,分别创建CellChat对象 Sys.set…

Antd Select 添加中框

默认antd 的 Select中间并没有竖框,但是ui design设计了,所以记录一下如何添加 默认: CSS: .custom-select-suffix-icon {display: flex;align-items: center; }.custom-select-suffix-icon::before {content: ;height: 31px; …

1. Prism系列之数据绑定

Prism系列之数据绑定 文章目录 Prism系列之数据绑定一、安装Prism二、实现数据绑定三、更换数据源 一、安装Prism 创建一个WPF工程,创建名为 PrismNewSample 的WPF项目。 使用管理解决方案的Nuget包 在上面或许我们有个疑问? 为啥安装prism会跟Pri…

ICC2:如何调整floorplan原点位置

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 使用virtuoso layout或calibredrv改变原点位置可以参考专栏文章: Virtuoso layout如何改变原点坐标 ICC2中改变原点位置需要使用move_block_orgin命令,使用方法如下: move_block_origin -to [lind…

Epicypher:CUTANA™ E. coli Spike-in DNA

来源于Escherichia coli(E.coli)的片段DNA可以用作核酸酶靶向切割和释放(CUT&RUN)的实验标准化的spike-in对照。产品CUTANA™ E. coli Spike-in DNA含有足够的材料,可用于100-200个CUT&RUN样本(高丰…

Win10错误代码0x80070005的解决方法

在Win10电脑操作过程中,用户可能会遇到各种各样的问题,从而影响到自己正常使用电脑办公。现在,就有用户遇到了错误码0x80070005的提示,但不清楚具体的解决方法。下面小编给大家分享不同的解决方法,解决后Win10电脑就能…

唇彩行业分析:我国彩妆细分品类市场占比63%

唇部彩妆是指在唇部起到化妆修饰作用的产品,包括口红/唇膏、唇蜜/唇彩/唇釉、唇笔/唇线笔、唇泥四大类。总体来看,目前我国唇部彩妆细分品类主要集中在唇膏/口红、唇蜜/唇彩/唇釉。唇笔/唇线笔市场接受程度较低,这是由于唇笔/唇线笔的主要成分…

Git克隆远程仓库SSH

个人主页:Lei宝啊 愿所有美好如期而遇 首先我们需要创建SSH Key 先进入用户主目录,在目录下查找有没有.ssh目录,没有则创建,然后进入目录,查看是否有id_rsa 和 id_rsa.pub 两个⽂件,一个是私钥&#xff…

自动转文字源码系统,随时随地自由转换,附带完整的搭建教程

互联网上的信息形式多种多样,其中文本是最基本也是最常见的信息形式之一。然而,这些文本往往是以HTML、XML、Markdown等格式存储和呈现的,对于用户来说,这些格式的文本可读性较差,难以直接编辑和使用。因此&#xff0c…

道路清障车行业分析:中国市场发展趋势研究

清障车全名为道路清障车,又称拖车、道路救援车、拖拽车,具有起吊、拽拉和托举牵引等多项功能,清障车主要用于道路故障车辆,城市违章车辆及抢险救援等。清障车按类别主要分为:拖吊连体型、拖吊分离型,一拖一…

vue前端访问Django channels WebSocket失败

现象 前端报错:SSH.vue:51 WebSocket connection to ‘ws://127.0.0.1:8000/server/terminal/120.59.88.26/22/1/’ failed: 后端报错:Not Found: /server/terminal/120.79.83.26/22/1/ 原因 django的版本与channels的版本不匹配(django…

es6从url中获取想要的参数

第一种方法 很古老,通过 split 方法慢慢截取,可行是可行但是这个方法有一个弊端,因为 split 是分割成数组了,只能按照下标的位置获取值,所以就是参数位置一旦发生变化,那么获取到的值也就错位了 let user…

Python框架批量数据抓取的高级教程

一、背景介绍 批量数据抓取是一种常见的数据获取方式,能够帮助我们快速、高效地获取网络上的大量信息。本文将介绍如何使用Python框架进行大规模抽象数据,以及如何处理这个过程中可能遇到的问题。 二、项目需求 我们将爬取大量知乎文章,讨…

【送书活动】探究AIGC、AGI、GPT和人工智能大模型

文章目录 前言01 《ChatGPT 驱动软件开发》推荐语 02 《ChatGPT原理与实战》推荐语 03 《神经网络与深度学习》推荐语 04 《AIGC重塑教育》推荐语 05 《通用人工智能》推荐语 后记赠书活动 前言 人工智能技术在过去几年中发展迅猛,得益于大数据、云计算、深度学习等…

论文润色改善附录内容质量 快码论文

大家好,今天来聊聊论文润色改善附录内容质量,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 标题:论文润色改善附录内容质量――提升论文的完整性与可读性 一、引言 附录是论文的…

【MySQL】——数据类型及字符集

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

【移动通讯】【MIMO】[P1]【科普篇】

前言: 前面几个月把CA 的技术总体复盘了一下,下面一段时间 主要结合各国一些MIMO 技术的文档,复盘一下MIMO. 这篇主要参考华为: info.support.huawei.com MIMO 技术使用多天线发送和接受信号。主要应用在WIFI 手机通讯等领域. 这种技术提高了系统容量&…

英飞凌芯片使用记录:程序运行放在RAM,规避ECC错误,操作Flash注意点

目录 1、程序放在RAM运行的方法(Tasking) 2、Tc3xx读取PF的时候关闭ECC错误方法 3、看门狗驱动放置在RAM避免总线错误。 4、Debug RAM与Debug Flash的区别 5、Tasking生成的HEX不是按照PFLASH的页大小作为start,或者存在多个程序块需要合…

第3次实验:802.11

第3次实验:802.11 目的: 探索802.11的物理层、链接层和管理功能。它被广泛用于将移动设备无线连接到互联网,并在课文的第4.4节中涉及。首先回顾该部分 环境: WireShark 实验报告正文 实验过程 本实验直接使用作者实验结果进行分析…

LeetCode刷题--- 二叉搜索树中第K小的元素

个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 【 http://t.csdnimg.cn/yUl2I 】【C】 【 http://t.csdnimg.cn/6AbpV 】数据结构与算法 【 http://t.csdnimg.cn/hKh2l 】 前言&#…