获取qq音乐歌手的收听量(c#)

也是闲着,看到我伦的qq音乐的收听量居然才520万,伤心。就抓下其他歌手的收听量,做个对比。

用到HtmlAgilityPack,Newtonsoft.Json

1. [代码][C#]代码

//设置listview的相关属性

listView1.GridLines
=
true;

listView1.View
= View.Details;

listView1.LabelEdit
=
true;

listView1.Sorting
= SortOrder.None;
//排序,根据第一列

listView1.Columns.Add("歌手",100,
HorizontalAlignment.Left);
//参数:列名、宽度、对齐方式

listView1.Columns.Add("收听量",
300, HorizontalAlignment.Left);

2. [代码][C#]代码

WebClient
wc =
new

WebClient();

            wc.Encoding
= Encoding.UTF8;

            string

html = wc.DownloadString(
new

Uri(
"http://y.qq.com/y/static/singer/index/all_hot_1.html"));

            HtmlAgilityPack.HtmlDocument
doc =
new

HtmlAgilityPack.HtmlDocument();

            doc.LoadHtml(html);

            string

nodexpath =
"";

            //获取图片排序,10个人

            for

(
int

i = 1; i < 11; i++)

            {

                nodexpath
= String.Format(
"/html/body/div/div/div[2]/div/div[2]/ol/li[{0}]/h5/span[1]/a",
i);

                HtmlNode
base1 = doc.DocumentNode.SelectSingleNode(nodexpath);

                //获取歌手的id

                string

getstr = base1.Attributes[
"href"].Value.Substring(21,14);

                WebClient
wd =
new

WebClient();

                string

jsurl = String.Format(
"http://s.plcloud.music.qq.com/fcgi-bin/fcg_order_singer_getnum.fcg?singermid={0}&rnd=1420900900825&g_tk=974283127&loginUin=529324801&hostUin=0&format=jsonp&inCharset=GB2312&outCharset=gb2312&notice=0&platform=yqq&jsonpCallback=MusicJsonCallback&needNewCode=0",
getstr);

                string

jsresult = wd.DownloadString(
new

Uri(jsurl));

                jsresult
= jsresult.Replace(
"MusicJsonCallback(","");

                int

n = 0;

                n
= jsresult.LastIndexOf(
")");

                jsresult
= jsresult.Substring(0, n);

                JObject
jo = (JObject)JsonConvert.DeserializeObject(jsresult);

                

                ListViewItem
item =
new

ListViewItem();

                item.Text
= base1.InnerText;

                item.SubItems.Add(jo["num"].ToString());

                listView1.Items.AddRange(new

ListViewItem[] { item });

            }

            //获取文字排序,40个人

            for

(
int

i = 1; i < 41; i++)

            {

                nodexpath
= String.Format(
"/html/body/div/div/div[2]/div/div[3]/ol/li[{0}]/span[1]/a",
i);

                HtmlNode
base1 = doc.DocumentNode.SelectSingleNode(nodexpath);

                string

getstr = base1.Attributes[
"href"].Value.Substring(21,
14);

                WebClient
wd =
new

WebClient();

                string

jsurl = String.Format(
"http://s.plcloud.music.qq.com/fcgi-bin/fcg_order_singer_getnum.fcg?singermid={0}&rnd=1420900900825&g_tk=974283127&loginUin=529324801&hostUin=0&format=jsonp&inCharset=GB2312&outCharset=gb2312&notice=0&platform=yqq&jsonpCallback=MusicJsonCallback&needNewCode=0",
getstr);

                string

jsresult = wd.DownloadString(
new

Uri(jsurl));

                jsresult
= jsresult.Replace(
"MusicJsonCallback(",
"");

                int

n = 0;

                n
= jsresult.LastIndexOf(
")");

                jsresult
= jsresult.Substring(0, n);

                JObject
jo = (JObject)JsonConvert.DeserializeObject(jsresult);

                ListViewItem
item =
new

ListViewItem();

                item.Text
= base1.InnerText;

                item.SubItems.Add(jo["num"].ToString());

                listView1.Items.AddRange(new

ListViewItem[] { item });

3. [图片] 新建位图图像.bmp

时间: 2024-08-27 11:25:47

获取qq音乐歌手的收听量(c#)的相关文章

获取qq音乐json数据---某课网音乐app学习

移动端qq音乐地址:https://m.y.qq.com/ .抓取QQ音乐数据 请求首页时,有如下链接,回调了jsonp https://c.y.qq.com/splcloud/fcgi-bin/p.fcg?g_tk=1847183166&format=jsonp&jsonpCallback=jsonp1 真正xhr: https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg?g_tk=1847183166&

vue-music 跨域获取QQ音乐歌曲播放源

这个问题困扰了我很久,一直获取不到正确的播放源,qq对这块限制更加严格了 按照之前老师在视频中的写法,已经不能获取到播放源了 下面来分析一下正确的播放源url:http://dl.stream.qqmusic.qq.com/C400000QCwge3B6Ad1.m4a?vkey=6FBECDE68E94D9E5B1F6731C5A8D83AE2DE961466D2CF64694D86F94590B3E27592575D38322394478AFC921DA703B6805A4278DE54344

vue 项目获取QQ音乐歌单数据

1.  前端请求(recommend.js): import axios from 'axios' export function getDiscList() { const url = '/api/getDiscList' const data = Object.assign({}, commonParams, { platform: 'yqq', hostUin: 0, sin: 0, ein: 29, sortId: 5, needNewCode: 0, categoryId: 10000

手把手教你使用Python抓取QQ音乐数据!

[一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐数据(第二弹)我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评. 通过手把手教你使用Python抓取QQ音乐数据(第三弹)我们实现了获取更多评论并生成词云图. 此次我们将将三个项目封装在一起,通过菜单控制爬取不同数据. [二.需要的库] 主要涉及的库有:requests.openpyxl.

山寨版qq音乐网页播放器实现

http://www.cnblogs.com/Xer-Lee/archive/2012/05/18/2508141.html 从上  地址中 我了解了 怎么获取qq 音乐数据 ,我这里做一下补充. 1: 获取 音乐歌词 GET http://music.qq.com/miniportal/static/lyric/{songid%100}/{songid}.xml   替换掉 {songid} 就可以得到 XML 格式的歌词. 2:.wma 音乐文件在网页中支持性不好(和不支持差不多) ,按照

调皮的QQ音乐API:修复无法获取歌单

上一篇完整版:http://www.cnblogs.com/TwilightLemon/p/7076938.html QQ音乐的API真是太调皮了,获取歌单的API又更换了好多次,喵喵喵 旧版API(已失效): https://y.qq.com/n/yqq/playlist/{0}.html#stat=y_new.profile.create_playlist.click&dirid=6 {0}:歌单ID 新版API: https://c.y.qq.com/qzone/fcg-bin/fcg_u

QQ音乐API分析

QQ音乐API分析 官网提供API 说明:此API主要针对移动端直接调用QQ音乐API用,API只能在QQAPP内执行,上线时间尚短. http://y.qq.com/m/api/api.html 分析的API 说明: 根据官网https://y.qq.com/分析的API,经过测试,可以使用,测试demo如下,demo流程 1.首先根据关键字搜索歌曲>获取播放key>获取播放地址播放 https://192.168.60.50:8443/admin/public/music 经分析,也可不用

音乐API之QQ音乐

欢迎大家来到我的博客,这是我在博客园写的第一篇文章,但不会是最后一篇,希望大家多多关注我,支持我哦!正文开始,今天我们要讲的是QQ音乐的API,都是来源于官方的地址,以前我也想写一个,但百度谷歌之后都是一些很久以前的,而今天的是我从QQ音乐客户端抓包而来,希望大家喜欢. 本教程的示例代码为C# WPF,其他语言也可以,最关键的还是API嘛.首先我们需要搜索到音乐,取出他的各类值,才能进行播放http://59.37.96.220/soso/fcgi-bin/client_search_cp?fo

轻仿QQ音乐之音频歌词播放、锁屏歌词-b

先上效果图 歌词播放界面 音乐播放界面 锁屏歌词界面 一. 项目概述 前面内容实在是太基础..只想看知识点的同学可以直接跳到第三部分的干货 项目播放的mp3文件及lrc文件均来自QQ音乐 本文主要主要讲解锁屏歌词的实现,音频.歌词的播放网上资源略多,因此不做重点讲解,项目也是采取最简单的MVC+storyboard方式 项目GitHub地址: https://github.com/PengfeiWang666/WPFMusicPlayer 音乐模型-->WPFMusic /** 图片 */ @p