当前位置:网站首页 > Java教程 > 正文

java爬音乐教程



考虑到这里有很多人没有接触过Java网络爬虫,所以我会从很基础的Jsoup分析HttpClient获取的网页讲起。了解这些东西可以直接看后面的“正式进入案例”,跳过前面这些基础。我导入的是“Excel转换工具XXL-EXCEL”这个开源项目然后在这个基础上写的这个Demo(下面会详细分析).看了这篇文章还有问题,记得给我留言我会尽力帮你解决。如果文章哪里有问题或者需要改进,也请留言告诉我,共同进步。

几天前用HttpClien+Jsoup把网易云音乐的民谣抓取下来,可惜显示效果是下面这样的:
没有导入Excel之前
想着如果能像前几天用开源的爬虫爬取知乎后然后导入Excel简单分析也好一点,如下图(下图只是简单的对导入进去的一个人的关注者做了一个排序):
知乎爬虫Excel分析
通过查阅文档知道Apache下有一个专门操作office各种文档的API:POI,用这个API的话操作起来原理也很简单,但是很麻烦需要写很多代码,而且条理也不是很清楚。所以去Github上找了找有没有更方便的方法,Github有很多关于这方面的开源项目,经过各种尝试,最终选择了:《Java对象和Excel转换工具XXL-EXCEL》,通过这个框架可以灵活的进行Java对象和Excel文档相互转换。

然后最终就是下面这个效果:
网易云Excel分析

Maven依赖:

请求网页和解析网页,我们都以推酷网:https://www.tuicool.com/为例子。
先看一个实例(本实例获取的是推酷网首页的热门文章的信息):

实例结果:
结果
实例分析:
1. 网页元素分析

元素位置->右键->查看元素(Inspent Element)
查看元素
2. Jsoup解析
通过元素分析我们即可获取所在div类名以及元素的其他属性,通过这些属性我们即可获取该元素。上面代码我已经给你详细的注释,如果还有问题可以留言给我。

如果想了解更详细的Jsoup操作请查看 jsoup中文文档。

Maven依赖:

下面是一个获取推酷首页源代码的例子:

这个例子有一点需要说明的是因为推酷网设置了简单的反爬所以我们这里必须设置请求头信息Uer-Agent模拟浏览器访问,代码已经注释。

如果想深入学习HttpClient,请查看HttpClient官网。

网上有很多这面的教程,而且Maven这个工具真的很实用,不会的可以在网上找一找教程。再不会留言找我,我教,��嘿嘿。

我一共新建了三个类:
类结构
Wangyiyun.java:网易云音乐实体类。

WangyiyunMinyao.java:网易云音乐工具类,用于获取存放歌曲对象打得Arraylist集合。

TestWangyiyun.java:测试类,测试获取网易云音乐民谣信息并且输出到Excel中。
因为一次抓取的是一个页面,所以抓取到控制台有输出,速度可能有点慢。
Wangyiyun.java

WangyiyunMinyao.java

TestWangyiyun.java

导入Maven依赖或者导入我的Maven项目后项目上会有感叹号,这种情况应该是Jar包下载出错。(笔主在这里卡了很长时间)

解决办法:

查看错误->找到出错的Jar->找到对应jar包存放位置->删除该jar包->去官网自己下载。

刚才知道大家可能因为jar包下载错误或者各种问题有问题。
下面是我的项目的效果图。目前已经更新到Github。实在还有问题的可以把我的项目拷贝下来看看。
完整源码下载:https://github.com/Snailclimb/Spider(包含导入Excel的工具源码)
效果图

版权声明


相关文章:

  • 免费在线java教程2024-12-01 13:58:03
  • java0基础教程视频2024-12-01 13:58:03
  • java环保变量教程2024-12-01 13:58:03
  • java对接飞飞cms详细教程2024-12-01 13:58:03
  • java基础对象教程2024-12-01 13:58:03
  • java系统教程视频2024-12-01 13:58:03
  • java循环求和教程2024-12-01 13:58:03
  • java编程思维教程2024-12-01 13:58:03
  • java497教程视频2024-12-01 13:58:03
  • java通信录教程2024-12-01 13:58:03