位置: 编程技术 - 正文

Python爬取网易云音乐热门评论(Python爬取网易云一首歌的全部评论并进行分析)

编辑:rootadmin

推荐整理分享Python爬取网易云音乐热门评论(Python爬取网易云一首歌的全部评论并进行分析),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Python爬取网易云并可视化,Python爬取网易云音乐评论,Python爬取网易云并可视化,Python爬取网易云音乐,Python爬取网易云音乐歌单内歌曲歌手封面播放地址,Python爬取网易云音乐评论,Python爬取网易云音乐,python爬取网易云音乐的代码,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在研究文本挖掘相关的内容,所谓巧妇难为无米之炊,要想进行文本分析,首先得到有文本吧。获取文本的方式有很多,比如从网上下载现成的文本文档,或者通过第三方提供的API进行获取数据。但是有的时候我们想要的数据并不能直接获取,因为并不提供直接的下载渠道或者API供我们获取数据。那么这个时候该怎么办呢?有一种比较好的办法是通过网络爬虫,即编写计算机程序伪装成用户去获得想要的数据。利用计算机的高效,我们可以轻松快速地获取数据。

那么该如何写一个爬虫呢?有很多种语言都可以写爬虫,比如Java,php,python 等,我个人比较喜欢使用python。因为python不仅有着内置的功能强大的网络库,还有诸多优秀的第三方库,别人直接造好了轮子,我们直接拿过来用就可以了,这为写爬虫带来了极大的方便。不夸张地说,使用不到行python代码其实就可以写一个小小的爬虫,而使用其他的语言可以要多写很多代码,简洁易懂正是python的巨大的优势。

好了废话不多说,进入今天的正题。最近几年网易云音乐火了起来,我自己就是网易云音乐的用户,用了几年了。以前用的是QQ音乐和酷狗,通过我自己的亲身经历来看,我觉得网易云音乐最优特色的就是其精准的歌曲推荐和独具特色的用户评论(郑重声明!!!这不是软文,非广告!!!仅代表个人观点,非喜勿喷!)。经常一首歌曲下面会有一些被点赞众多的神评论。加上前些日子网易云音乐将精选用户评论搬上了地铁,网易云音乐的评论又火了一把。所以我想对网易云的评论进行分析,发现其中的规律,特别是分析一些热评具有什么共同的特点。带着这个目的,我开始了对网易云评论的抓取工作。

python内置了两个网络库urllib和urllib2,但是这两个库使用起来不是特别方便,所以在这里我们使用一个广受好评的第三方库requests。使用requests只用很少的几行代码就可以实现设置代理,模拟登陆等比较复杂的爬虫工作。如果已经安装pip的话,直接使用pip install requests 即可安装。中文文档地址在此 code(状态码)标志了服务器请求的状态,这里状态码为即表示请求正常,而则表示不正常(状态码种类非常多,如果要想详细了解可以自行搜索,这里不说具体的含义了)。所以我们一般只用看状态码为的请求就可以了,还有就是,我们可以通过右边栏的预览来粗略观察服务器返回了什么信息(或者查看响应)。如下图5所示:

图5

通过这两种方法结合一般我们就可以快速找到我们想要分析的请求。注意图5中的请求网址一栏即是我们想要请求的网址,请求的方法有两种:get和post,还有一个需要重点关注的就是请求头,里面包含了user-Agent(客户端信息),refrence(从何处跳转过来)等多种信息,一般无论是get还是post方法我们都会把头部信息带上。头部信息如下图6所示:

图6

另外还需要注意的是:get请求一般就直接把请求的参数以?parameter1=value1¶meter2=value2 等这样的形式发送了,所以不需要带上额外的请求参数,而post请求则一般需要带上额外的参数,而不直接把参数放在url当中,所以有的时候我们还需要关注参数这一栏。经过仔细寻找,我们终于找到原来与评论相关的请求在 这个请求当中,如下图7所示:

Python爬取网易云音乐热门评论(Python爬取网易云一首歌的全部评论并进行分析)

图7

点开这个请求,我们发现它是一个post请求,请求的参数有两个,一个是params,还有一个是encSecKey,这两个参数的值非常的长,感觉应该像是加密过的。如下图8所示:

图8

服务器返回的和评论相关的数据为json格式的,里面含有非常丰富的信息(比如有关评论者的信息,评论日期,点赞数,评论内容等等),如下图9所示:(其实hotComments为热门评论,comments为评论数组)

图9

至此,我们已经确定了方向了,即只需要确定params和encSecKey这两个参数值即可,这个问题困扰了我一下午,我弄了很久也没有搞清楚这两个参数的加密方式,但是我发现了一个规律, 中 R_SO_4_后面的数字就是这首歌的id值,而对于不同的歌曲的param和encSecKey值,如果把一首歌比如A的这两个参数值传给B这首歌,那么对于相同的页数,这种参数是通用的,即A的第一页的两个参数值传给其他任何一首歌的两个参数,都可以获得相应歌曲的第一页的评论,对于第二页,第三页等也是类似。但是遗憾的是,不同的页数参数是不同的,这种办法只能抓取有限的几页(当然抓取评论总数和热门评论已经足够了),如果要想抓取全部数据,就必须搞明白这两个参数值的加密方式。以为没有搞明白,昨天晚上我带着这个问题去知乎搜索了一下,居然真的被我找到了答案。到此为止,如何抓取网易云音乐的评论全部数据就全部讲完了。

按照惯例,最后上代码,亲测有效:

我利用上述代码跑了一下,抓了两首周杰伦的热门歌曲《晴天》(有多万评论)和《告白气球》(有多万评论),前者跑了大概有多分钟,后者有多秒(也就是将近2个小时),截图如下:

注意我是按照空格来分隔的,每一行分别有用户ID 用户昵称 用户头像地址 评论时间 点赞总数 评论内容 这些内容。我将这两个txt文件上传到百度云了,对数据感兴趣的同学可以直接下载进行文本分析,地址为:《晴天》(

python网络编程调用recv函数完整接收数据的三种方法 最近在使用python进行网络编程开发一个通用的tcpclient测试小工具。在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket

使用python遍历指定城市的一周气温 处于兴趣,写了一个遍历指定城市五天内的天气预报,并转为华氏度显示。把城市名字写到一个列表里这样可以方便的添加城市。并附有详细注释importre

Python中查看文件名和文件路径 查看文件名和文件路径importosurl='

标签: Python爬取网易云一首歌的全部评论并进行分析

本文链接地址:https://www.jiuchutong.com/biancheng/377170.html 转载请保留说明!

上一篇:Python中Django发送带图片和附件的邮件(django发送请求)

下一篇:python网络编程调用recv函数完整接收数据的三种方法(python2网络编程)

  • 汽车销售和租赁哪个大
  • 辞退补偿款怎么算
  • 企业年报股东及出资信息要怎么填写
  • 主营业务成本包括职工薪酬吗
  • 人工费能不能抵扣进项税
  • 长期股权投资权益法下初始投资成本
  • 个税专项扣除做什么用
  • 专项用途财政资金纳税调整规则
  • 持有的汇票到期后怎么办
  • 材料短缺赔偿会计分录怎么写?
  • 收到发票怎么记账
  • 逾期增值税扣税凭证抵扣问题
  • 补记以前年度收入在报表中怎么处理
  • ktv的发票可以报销吗
  • 酒店式公寓配套服务包括哪些
  • 外籍劳务费个税扣除标准
  • 职工福利进项税可以抵扣吗
  • 差旅费报销单填写模板
  • 管理费是否需合计
  • 基金预算收入核算的内容包括
  • 策划公司费用怎么算
  • 资本公积和盈余公积都是从企业的净利润中提取的
  • 电子承兑汇票怎么用
  • 对于目标文件系统文件过大无法删除
  • Apache+php+mysql在windows下的安装与配置图解(最新版)
  • PHP:base64_encode()的用法_url函数
  • 偷税漏税如何处罚
  • 车辆购买保险发票未回怎么做会计分录
  • 应收账款怎么做会计分录
  • 期初留存收益包括
  • 湿地上有什么植物
  • 特拉凯城堡是哪个国家
  • 克拉克湖国家公园
  • 赫尔辛基哈加赫利亚大学
  • xch 未来
  • seq命令
  • 外经证还有几天到期延期需要的资料
  • 存货非正常损失可以所得税前扣除吗
  • 公司注册登记需要提交的资料包括
  • 金税盘使用流程
  • 印花税没有及时交会有什么后果
  • 将织梦dedecms转换到wordpress
  • 2022最新款带采集功能抖音壁纸小程序源码
  • 如何利用税收经济效应实现税收的宏观调控目标
  • 投资款不打入公司账户可以吗
  • 劳务公司属于什么
  • SQL Server 2008+ Reporting Services (SSRS)使用USER登录问题
  • 母公司与子公司内部合作协议
  • 只收加工费
  • 今年发放去年的工资怎么入账
  • 外购商品发放给员工 进项税额能不能抵扣
  • 车间里停止生产怎么办
  • 事业单位未取得相关证书不予受理
  • 销售折扣销货方式有哪些
  • 房屋租赁费如何结转成本
  • 长期应付款为负数重分类
  • 农产品收购发票如何抵扣进项税
  • 以前年度的费用忘记入账怎么办
  • 离岸服务外包收入
  • 在你登陆时发生了问题
  • mysql正则表达式匹配数字
  • 如何修改注册表键值
  • Windows自带的游戏怎么删除
  • gdiwindow是什么
  • watchs2最新版本
  • mac进去不了系统
  • windows8 8.1
  • win7电脑耳机插上还是外放
  • excel如何制作登录界面代码
  • html气泡效果
  • fragment切换保存状态
  • 安卓大作业小游戏五子棋
  • js打开浏览器新的tab页
  • 你需要知道的21个本质
  • android studio常用控件
  • 股权转让是实缴资本吗
  • 上市公司的税务风险大吗
  • 腾讯 短信服务
  • 个人所得税小孩上大学可以扣除吗
  • 税务征收社保费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设