文档章节

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

旺仔没馒头
 旺仔没馒头
发布于 2017/09/03 16:25
字数 554
阅读 16
收藏 0
点赞 0
评论 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
博文 15
码字总数 10924
作品 0
潍坊
程序员
我跟网易云音乐爬虫不得不说的故事(文末附精彩评论)

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

凌风郎少 ⋅ 2017/11/27 ⋅ 0

抓取网易云音乐歌曲热门评论生成词云

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

郭璞 ⋅ 2017/04/26 ⋅ 0

scrapy+selenium爬取网易云音乐排行榜

仔细研究网易云音乐排行榜html码源,发现榜单是iframe动态加载的,因此scrapy结合selenium来爬取 在middlewares.py文件中建立中间件,结合selenium 在settings.py中添加中间件 在items.py中定...

朽小蜗 ⋅ 2017/11/22 ⋅ 0

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

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

九日照林 ⋅ 05/15 ⋅ 0

中国有嘻哈:网易云、虾米音乐歌词爬虫项目分享

《中国有嘻哈》这款综艺带火了中国的嘻哈音乐,大家问好也都变成了:你有freestyle吗? 相信大家都是因为这篇高大上的微信推送文章来的。 没看到也不要紧,传送带在这里–>爱票子也爱妹子:3...

czl389 ⋅ 2017/08/16 ⋅ 0

零基础爬虫学习全记录2:今日头条指定搜索内容下的所有图集图片保存——图片采集小程序

零基础爬虫学习全记录 无论仅仅有多少基础,都不该在徘徊和犹豫中浪费! 只有放弃幻想,用行动促进思考,才能最快找到想要的路。 背景: 没有任何编程基础的金融学专业学生,C语言都没接触过...

无小意丶 ⋅ 2017/10/27 ⋅ 0

快速开发爬虫系统的云框架--神箭手云爬虫

神箭手云爬虫是一个帮助开发者快速开发爬虫系统的云框架。神箭手提供上手简单,灵活开放的爬虫云开发环境,让开发者只需要在线写几行js代码就可以实现一个爬虫。并且爬虫将自动运行在云服务器...

匿名 ⋅ 2016/05/12 ⋅ 1

Python爬虫(1.爬虫的基本概念)

爬虫的基本概念 1. 网络爬虫的组成 网络爬虫由控制结点、爬虫结点、资源库构成,如图1 所示: 图1 网络爬虫的控制节点和爬虫节点结构的关系 可以看到,网络爬虫中可以有多个控制节点,每个控...

lhs322 ⋅ 04/20 ⋅ 0

网易云音乐近5年热门歌单数据分析

网易云音乐几乎是我唯一的听歌消遣的平台了,平时剪辑寻找BGM时也上云村。它的特点就是体验、视角效果都很棒,歌单推荐做的也很人性化。 然后,8月30日我抓取了网易云音乐热门歌单中9.8W+的歌...

瑶妹妹先生 ⋅ 2017/10/03 ⋅ 0

数据分析细数周杰伦不能说的秘密

很早之前写了个网易云音乐的爬虫,准备把网易云音乐的所有歌曲信息和评论信息抓下来,但是爬虫开始工作不到一天,服务器就被网易云音乐给ban了>_<...然后爬虫就这么被搁置了。 这段时间趁国庆...

繁著 ⋅ 2017/10/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

apollo配置中心的学习笔记

公司现在配置文件太多了,导致配置文件修改起来还是非常麻烦的。在boss(业务运营支撑系统)中,配置文件是存放在jar包的,通过应用jar包来引用配置文件(区分不同环境)。这种方式虽然能够满足...

miaojiangmin ⋅ 1分钟前 ⋅ 0

Jena增删改查AP

插入、更新数据 public static void insert(){ String query = "PREFIX book: <http://www.book.com/jinyong/> \n" + " INSERT DATA \n" + ......

Vincent-Duan ⋅ 1分钟前 ⋅ 0

springMVC之与json数据交互方法

因为我也要返回json数据。所以需要这个注解@ResponseBody,把Java对象转换成json字符串 注意: 1、@RequestBody不能省,因为前台发过来的数据是json数据,得用这个注解去解析该怎么接收这些数...

颖伙虫 ⋅ 5分钟前 ⋅ 0

用实例域代替序号(31)

1、许多枚举天生就与一个单独的int 值相关联 ordinal 方法,返回枚举常量在类型中的数字位置 下述,枚举修改很不方便,不好维护 永远不要根据枚举的序数导出与他相关联的值 而是将他保存在一...

职业搬砖20年 ⋅ 7分钟前 ⋅ 0

并发编程---ConcurrentHashMap源码解析

ConcurrentHashMap是java中为了解决HashMap不能支持高并发而设计的新的实现。 ConcurrentHashMap的类结构 public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements C......

千古一梦888 ⋅ 10分钟前 ⋅ 0

微服务 WildFly Swarm 简介

我们将看到的最后一个Java微服务框架是一个相对较新的场景,它利用了 JBoss WildFly 应用服务器中已试过且受信任的 JavaEE 功能。WildFly Swarm 是 WildFly 应用服务器的一个完整的拆下来的组...

woshixin ⋅ 15分钟前 ⋅ 0

android apk 瘦身

头条APK瘦身之路 随着版本迭代,功能增加安装包体积也会慢慢增大。 今日头条576版本APK达到了25M,通过一系列的优化,到目前的607版本为12M。本文主要是介绍头条APK瘦身中用到的一些方法。 ...

GoldenVein ⋅ 19分钟前 ⋅ 1

mac机器学习开发环境部署及helloworld

一、下载并安装Anaconda2.7 https://repo.anaconda.com/archive/Anaconda2-5.2.0-MacOSX-x86_64.pkg 路径:/Users/shijun/anaconda2 二、运行Anaconda Navigator -> Environments -> base(ro......

八戒八戒八戒 ⋅ 30分钟前 ⋅ 0

关于日常开发的经验总结(Java),持续更新中

常量尽量使用枚举来表示,这样表现力会很强,因为枚举比一个常量类要有更多的扩展性 方法的入参和出参尽量不要使用Map,因为Map会让调用者感到迷惑,他不知道你里面装的什么,面向对象的开发...

小99 ⋅ 30分钟前 ⋅ 0

IDEA创建SpringMVC+Mybatis+Maven项目

视频如下(加载有点慢请见谅,服务器不太好): 视频

影狼 ⋅ 31分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部