文档章节

爬虫爬取的网易云热门歌单

旺仔没馒头
 旺仔没馒头
发布于 2017/09/03 16:25
字数 554
阅读 36
收藏 0

介绍

从网上看到了一个java爬虫的教学,觉得挺有意思,就用来爬取一下网易云歌单,看一下什么歌单播放次数最多。利用Jsoup可以很轻松的对内容进行提取,有点类似于Jquery选择器的语法,利用HttpClient能够轻松的发送请求。然后就顺便把爬取的流行和民谣的歌单爬到了数据库,由于全部爬取数据量太大,所以只是爬取的前8页的歌单。
利用一下代码可以获取到网页内容的输入流。

HttpClient hc = new DefaultHttpClient();
HttpGet hg = new HttpGet(url_str);
HttpResponse response = hc.execute(hg);
HttpEntity entity = response.getEntity();
InputStream htm_in = entity.getContent();

通过自己定义的方法,将输入流转换为字符串

public static String InputStream2String(InputStream in, String encoding) throws Exception {
	StringBuffer out = new StringBuffer();
	InputStreamReader inread = new InputStreamReader(in, encoding);

	char[] b = new char[4096];
	for (int n; (n = inread.read(b)) != -1;) {
		out.append(new String(b, 0, n));
	}

	return out.toString();
}

得到了内容后便可以用Jsoup解析,通过浏览器自带的开发者工具,分析选取哪一个<div>里面的内容

Document doc = Jsoup.parse(htm_str);
Elements links = doc.select("div[class=g-bd]")
.select("div[class=g-wrap p-pl f-pr]")
.select("ul[class=m-cvrlst f-cb]")
.select("div[class=u-cover u-cover-1");

for (Element link : links) {
	Elements lin = link.select("a");
	String re_url = lin.attr("href");
	String re_title = lin.attr("title");
	System.out.print(re_title + "       ");
	System.out.print(re_url + "       ");
}

最后分享一下爬取的民谣和流行的歌单(都是播放排行前5的)。
流行
你知道思念一个人的滋味吗 点我
一首歌让你回到中学时代 点我
将回忆酿成烈酒入喉 从此不再挽留不再回头 点我
华语|那些温暖男声听起来总让人心疼 点我
2016年度最热新歌TOP100 点我
民谣
如果你想听民谣,可以从这些歌曲开始。 点我
孤独旅人配民谣。 点我
民谣是最安静的角落 点我
你若听过他的歌,此生便有了挂念 点我
华语女声丨若失意时 让这些歌给你一个拥抱 点我

© 著作权归作者所有

共有 人打赏支持
上一篇: java特训第一课
下一篇: 回形嵌套
旺仔没馒头
粉丝 4
博文 20
码字总数 16560
作品 0
济南
程序员
私信 提问
使用Puppeteer轻松爬取网易云音乐、QQ音乐的精品歌单

背景 最近在学习Puppeteer进行自动化操作,另一方面为了防止上班时间被打扰,是时候爬点歌单在上班的时候,用来抵抗外界的干扰了。 地址 项目完整代码地址:github.com/BingKui/WeC… 工具 ...

无聊小码农
2018/07/30
0
0
我分析了2837首歌曲,做了个信息检索与信息抽取系统

写在前面 首先,作者受到 《我分析了42万字的歌词,为了搞清楚民谣歌手们在唱些什么》 这篇文章的影响,加上自己也是一个音乐爱好者,所以决定做一个网易云热门歌手歌词信息检索与信息抽取系...

牛奶芝麻
2018/08/02
0
0
我跟网易云音乐爬虫不得不说的故事(文末附精彩评论)

这是一件单纯因为有趣,因为好玩做的事情~ 对技术实现不感兴趣的同学可以直接跳转到文末看精彩评论(谁能告诉我如何实现页面内跳转...)。 一、背景 干程序猿这行已经几年了,一直以来都忙于...

凌风郎少
2017/11/27
0
0
抓取网易云音乐歌曲热门评论生成词云

前言 网易云音乐一直是我向往的“神坛“,听音乐看到走心的评论的那一刻,高山流水。于是今天来抓取一下歌曲的热门评论。并做成词云来展示,看看相对于这首歌最让人有感受的评论内容是什么。...

郭璞
2017/04/26
0
0
爬取网易云音乐《化身孤岛的鲸》数据,我想告诉52赫兹的Alice,你不孤单

之前听到不才的《化身孤岛的鲸》,觉得是一首很温柔的歌,歌词很美很暖,反复听了很多次,底下也有很多很温暖,让人感动的评论,我很有兴趣想知道听歌的人的情感导向还有关注点大多是什么内容...

九日照林
2018/05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
1
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部