文档章节

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

旺仔没馒头
 旺仔没馒头
发布于 2017/09/03 16:25
字数 554
阅读 29
收藏 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 点我
民谣
如果你想听民谣,可以从这些歌曲开始。 点我
孤独旅人配民谣。 点我
民谣是最安静的角落 点我
你若听过他的歌,此生便有了挂念 点我
华语女声丨若失意时 让这些歌给你一个拥抱 点我

© 著作权归作者所有

共有 人打赏支持
旺仔没馒头
粉丝 2
博文 17
码字总数 12986
作品 0
济南
程序员
使用Puppeteer轻松爬取网易云音乐、QQ音乐的精品歌单

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

无聊小码农
07/30
0
0
我跟网易云音乐爬虫不得不说的故事(文末附精彩评论)

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

凌风郎少
2017/11/27
0
0
我分析了2837首歌曲,做了个信息检索与信息抽取系统

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

牛奶芝麻
08/02
0
0
抓取网易云音乐歌曲热门评论生成词云

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

郭璞
2017/04/26
0
0
超级课程表APP爬虫,大学生都这么玩

记得读大学时,看课程信息,查分数,看美女(嘘)都会使用超级课程表APP,当时这款APP非常火爆,今天,就带领大家回到大学,看看大学生都在干嘛? 该文涉及内容: 爬虫简介 性别分布 高校分布...

罗罗攀
08/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java基础知识,小栗子

来操作一下数组.....注意带参数的变长数组的使用. package com.avatus;import java.util.Random;import java.util.Scanner;public class Main { public static void main(St...

Oh_really
4分钟前
0
0
SSO单点登录PHP简单版

  前面做了一个新项目,需要用户资源可以需要共享。由于之前没有做过这样的东西,回家之后,立马网站百度“单点登录”。帖子很多,甄别之后,这里列几篇认为比较有营养。   http://blog...

slagga
41分钟前
2
0
Java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1 概述 泛型在j...

hensemlee
45分钟前
2
0
Annotation注解详细介绍

目录介绍 1.Annotation库的简单介绍 2.@Nullable和@NonNull 3.资源类型注释 4.类型定义注释 5.线程注释 6.RGB颜色纸注释 7.值范围注释 8.权限注释 9.重写函数注释 10.返回值注释 11.@Keep注释...

潇湘剑雨
47分钟前
2
0
一步步编写自己的PHP爬取代理IP项目(二)

这一章节我们正式开展我们的爬虫项目,首先我们先要知道哪个网站能获取到免费代理IP,目前比较火的有西刺代理,快代理等,这里我们拿西刺代理作为例子。 这里就是一个个免费的IP地址以及各自...

NateHuang
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部