博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬虫爬取的网易云热门歌单
阅读量:6578 次
发布时间:2019-06-24

本文共 1426 字,大约阅读时间需要 4 分钟。

hot3.png

介绍

从网上看到了一个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
民谣
如果你想听民谣,可以从这些歌曲开始。
孤独旅人配民谣。
民谣是最安静的角落
你若听过他的歌,此生便有了挂念
华语女声丨若失意时 让这些歌给你一个拥抱

转载于:https://my.oschina.net/u/3226414/blog/1528194

你可能感兴趣的文章
NYOJ The Triangle
查看>>
wps10.1中将txt转为excel
查看>>
并发同步知多少
查看>>
解决执行脚本报syntax error: unexpected end of file或syntax error near unexpected token `fi'错误的问题...
查看>>
[BZOJ3312][USACO]不找零(状压DP)
查看>>
页面之间的传值和大量参数的传递
查看>>
python学习之路-5 基础进阶篇
查看>>
gtp转换mbr
查看>>
js-数组常用方法、
查看>>
django rest framework
查看>>
登录注册界面
查看>>
poj1985 求树的直径
查看>>
【R语言系列】read.table报错incomplete final line found by readTableHeader
查看>>
最全基础区间线段树模板
查看>>
ORACLE中通过SQL语句(alter table)来增加、删除、修改字段
查看>>
面向接口、对象、方面编程区别 -- 精简版
查看>>
jvm内存快照dump文件太大,怎么分析
查看>>
js判断手机还是pc并跳转相关页面
查看>>
文本框默认文字内容消失显示效果
查看>>
联合(Unions)
查看>>