我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Python分析44万条数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Python分析44万条数据

本篇文章给大家分享的是有关怎么用Python分析44万条数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

有个段子讲“十年文案老司机,不如网易评论区,网易文豪遍地走,评论全部单身狗”,网易云音乐的评论区也一直都是各类文案大神的聚集地。

那么我们普通用户到底如何成为网易云音乐评论里的热评段子手?

让我来分析一下。

获取数据

其实逻辑并不复杂:

  1. 爬取歌单列表里的所有歌单url。

  2. 进入每篇歌单爬取所有歌曲url,去重。

  3. 进入每首歌曲首页爬取热评,汇总。

歌单列表是这样的:

怎么用Python分析44万条数据

翻页并观察它的url变化,注意下方动图,每次翻页末尾变化35。

怎么用Python分析44万条数据

采用requests+pyquery来爬取。

在学习过程中有什么不懂得可以加我的python学习交流扣扣qun,784758214群里有不错的学习视频教程、开发工具与电子书籍。与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容def get_list():    list1 = []    for i in range(0,1295,35):        url = 'https://music.163.com/discover/playlist/?order=hot&cat=%E5%8D%8E%E8%AF%AD&limit=35&offset='+str(i)        print('已成功采集%i页歌单\n' %(i/35+1))        data = []        html = restaurant(url)        doc = pq(html)        for i in range(1,36): # 一页35个歌单            a = doc('#m-pl-container > li:nth-child(' + str(i) +') > div > a').attr('href')            a1 = 'https://music.163.com/api' + a.replace('?','/detail?')            data.append(a1)        list1.extend(data)        time.sleep(5+random.random())    return list1

这样我们就可以获得38页每页35篇歌单,共1300+篇歌单。

下面我们需要进入每篇歌单爬取所有歌曲url,并且要注意最后“去重”,不同歌单可能包含同一首歌曲。

点开一篇歌单,注意红色圈出的id。

怎么用Python分析44万条数据

观察一下,我们要在每篇歌单下方获取的信息也就是红框圈出的这些,利用刚刚爬取到的歌单id和网易云音乐的api(下一篇文章细讲)可以构造出:

怎么用Python分析44万条数据

不方便看的话我们解析一下json。

怎么用Python分析44万条数据

def get_playlist(url):    data = []    doc = get_json(url)    obj=json.loads(doc)    jobs=obj['result']['tracks']    for job in jobs:        dic = {}        dic['name']=jsonpath.jsonpath(job,'$..name')[0] #歌曲名称        dic['id']=jsonpath.jsonpath(job,'$..id')[0] #歌曲ID        data.append(dic)    return data

这样我们就获取了所有歌单下的歌曲,记得去重。

#去重data = data.drop_duplicates(subset=None, keep='first', inplace=True)

剩下就是获取每首歌曲的热评了,与前面获取歌曲类似,也是根据api构造,很容易就找到了。

怎么用Python分析44万条数据

def get_comments(url,k):    data = []    doc = get_json(url)    obj=json.loads(doc)    jobs=obj['hotComments']    for job in jobs:        dic = {}        dic['content']=jsonpath.jsonpath(job,'$..content')[0]         dic['time']= stampToTime(jsonpath.jsonpath(job,'$..time')[0])        dic['userId']=jsonpath.jsonpath(job['user'],'$..userId')[0]  #用户ID        dic['nickname']=jsonpath.jsonpath(job['user'],'$..nickname')[0]#用户名        dic['likedCount']=jsonpath.jsonpath(job,'$..likedCount')[0]         dic['name']= k        data.append(dic)    return data

汇总后就获得了44万条音乐热评数据。

怎么用Python分析44万条数据

数据分析

清洗填充一下。

def data_cleaning(data):    cols = data.columns    for col in cols:        if data[col].dtype ==  'object':            data[col].fillna('缺失数据', inplace = True)        else:            data[col].fillna(0, inplace = True)    return(data)

按照点赞数排个序。

#排序df1['likedCount'] = df1['likedCount'].astype('int')df_2 = df1.sort_values(by="likedCount",ascending=False)df_2.head()

怎么用Python分析44万条数据

再看看哪些热评是被复制粘贴搬来搬去的。

#排序df_line = df.groupby(['content']).count().reset_index().sort_values(by="name",ascending=False)df_line.head()

怎么用Python分析44万条数据

第一个和第三个只是末尾有没有句号的区别,可以归为一类。这样的话,重复次数最多个这句话竟然重复了412次,额~~

看看上热评次数次数最多的是哪位大神?从他的身上我们能学到什么经验?

df_user = df.groupby(['userId']).count().reset_index().sort_values(by="name",ascending=False)df_user.head()

按照 user_id 汇总一下,排序。

怎么用Python分析44万条数据

成功“捕获”一枚“段子手”,上热评次数高达347,我们再看看这位大神究竟都评论些什么?

df_user_max = df.loc[(df['userId'] == 101***770)]df_user_max.head()

怎么用Python分析44万条数据

这位“失眠的陈先生”看来各种情话娴熟于手啊,下面就以他举例来看看如何成为网易云音乐评论里的热评段子手吧。

数据可视化

先看看这347条评论的赞数分布。

#赞数分布图import matplotlib.pyplot as pltdata = df_user_max['likedCount']#data.to_csv("df_user_max.csv", index_label="index_label",encoding='utf-8-sig')plt.hist(data,100,normed=True,facecolor='g',alpha=0.9)plt.show()

怎么用Python分析44万条数据

很明显,赞数并不多,大部分都在500赞之内,几百赞却能跻身热评,这也侧面说明了这些歌曲是比较小众的,看来是经常在新歌区广撒网。

我们使用len() 求出每条评论的字符串长度,再画个分布图

怎么用Python分析44万条数据

评论的字数集中在18—30字之间,这说明在留言时要注意字数,保险的做法是不要太长让人读不下去,也不要太短以免不够经典。

做个词云。

怎么用Python分析44万条数据

可以看出他的评论风格是以一首歌使他“想起”“感觉”为开头,宾语通常是“喜欢的女孩子”,也经常用”她”来指代。寄托的情感是“后悔”“悲伤”,感慨的终点是“放下”。

以上就是怎么用Python分析44万条数据,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Python分析44万条数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Python分析44万条数据

本篇文章给大家分享的是有关怎么用Python分析44万条数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。有个段子讲“十年文案老司机,不如网易评论区,网易文豪遍地走,评论全部单
2023-06-02

plsql怎么导入100万条数据

在PL/SQL中导入100万条数据可以使用以下方法:1. 使用INSERT语句:使用INSERT INTO语句将数据逐行插入到表中。这种方法比较简单,但是速度较慢,可能需要很长时间来完成导入操作。sqlDECLAREi NUMBER :=
2023-10-19

mybatis批量插入10万条数据的示例分析

这篇文章给大家分享的是有关mybatis批量插入10万条数据的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库 在使用mybatis插入大量数据的时候,为了提高效率,放弃循环插入,改为批量插入,map
2023-06-14

如何使用Python分析14亿条数据

这篇文章主要介绍“如何使用Python分析14亿条数据”,在日常操作中,相信很多人在如何使用Python分析14亿条数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Python分析14亿条数据”的疑
2023-07-06

怎么用python做数据分析

要使用Python进行数据分析,可以按照以下步骤进行:1. 安装Python和相关库:首先,确保你已经安装了Python的最新版本。然后,使用pip安装常用的数据分析库,例如NumPy、Pandas、Matplotlib和Seaborn。2
2023-10-12

Python遍历目录下文件、读取、千万条数据合并实例分析

这篇文章给大家介绍Python遍历目录下文件、读取、千万条数据合并实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、使用Python进行文件和文件夹的判断递归 :主要目的就是遍历文件夹和文件对文件夹和文件进行属
2023-06-26

java怎么对百万条数据做读写

在Java中,对于百万条数据的读写操作,可以使用以下方法:1. 使用缓冲流:通过使用`BufferedReader`和`BufferedWriter`类,可以在读取和写入数据时使用缓冲区,从而提高读写操作的效率。```javatry (Bu
java怎么对百万条数据做读写
2024-02-29

Java怎么实现几十万条数据插入(30万条数据插入MySQL仅需13秒)

本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。 30万条数据插入插入数据库验证 实体类、mapper和配置文件定义User实体mapper接口mapper.xml文件jdbc.propertiessqlM
2023-08-16

java怎么对百万条数据做计算

对百万条数据进行计算需要考虑到内存的限制和计算的效率。以下是一些常见的处理方法:1. 使用数据库:将数据存储在数据库中,然后使用SQL查询语句进行计算。数据库系统有优化的查询引擎,可以高效地处理大量数据。可以使用Java中的JDBC或者OR
2023-09-13

如何快速用Python处理3万多条数据

这篇文章给大家介绍如何快速用Python处理3万多条数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。应用场景:工作中经常遇到大量的数据需要整合、去重、按照特定格式导出等情况。如果用 Excel 操作,不仅费时费力,还
2023-06-16

怎么用Python进行数据分析

这篇文章主要讲解了“怎么用Python进行数据分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python进行数据分析”吧!评论情感倾向先调用百度AI来分析微博和b站的评论情感倾向。
2023-06-01

怎么用Python分析人口数据

本篇内容介绍了“怎么用Python分析人口数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、分析目标新中国成立70,经历了许许多多的风风
2023-06-13

Python:我的交易行为终于在分析1225万条淘宝数据,搞清楚了

1、项目背景与分析说明1)项目背景  网购已经成为人们生活不可或缺的一部分,本次项目基于淘宝app平台数据,通过相关指标对用户行为进行分析,从而探索用户相关行为模式。2)数据和字段说明  本文使用的数据集包含了2014.11.18到2014
2023-06-01

怎么使用Python进行数据分析

使用Python进行数据分析可以通过以下几个步骤:1. 安装Python和相关库:首先需要安装Python解释器,推荐使用Anaconda发行版,因为它已经包含了很多常用的数据分析库,如NumPy、Pandas和Matplotlib等。可以
2023-08-23

vue前端怎么展示后端十万条数据

这篇文章主要介绍“vue前端怎么展示后端十万条数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue前端怎么展示后端十万条数据”文章能帮助大家解决问题。前置工作如果后端真的返回给前端10万条数据,
2023-07-02

怎么用python分析游戏内存数据

要使用Python分析游戏内存数据,你需要了解以下几个步骤:安装所需的模块:首先,你需要安装一些用于分析游戏内存数据的Python模块,如`pywin32`、`psutil`和`struct`。你可以使用pip命令安装这些模块,例如:`pi
2023-10-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录