返回
摩杰娱乐资讯
分类

Java爬虫——微博热搜

日期: 2019-11-28 14:25 浏览次数 :

  咨询页面自从写完关于Lifecycle的文章后就没有发现其他有兴趣的源码了,所以呢,我决定看看写写后台代码,尝试一波。经过大概一周的百度,SSM框架基本搭建完成。突发奇想,打算收集一下各种热搜。首先想到的那肯定是微博热搜了,so,我们来爬下微博热搜吧!

  Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

  之前使用过Jsoup来抓取公交车实时到站信息,并且自己做了个简单的公交车到站查询APP。关于Jsoup的使用后面会讲到。

  在抓取数据的时候,首先要做的就是分析这个网页的结构,哪里是我们需要抓取的,哪些数据是我们需要的。我们先看下微博热搜,可以通过浏览器的开发者模式显示Html代码:

  我们可以看到,右边那tbody里面正是我们需要抓取的数据,话不多说,上码吧!

  先吐槽一波,微博在加载热搜的时候并没有直接用html加载,而是通过了一段js加载,如下图:

  通过fiddler抓包可以看到,这里通过加载js来加载的热搜,而且里面有一段json,这段json就是我们需要的热搜数据(截图不好截图,后面再看吧)。

  通过浏览器可以获取到其结构,我们需要提取action-type=tr_hover对应的元素

  这里面都是比较简单的获取数据即可,比如获取排序,通过获取td_01里面的em标签的值即可。

  链接和名称以及热度值也是同理。这里说个比较有意思的,普通的热搜都是可以直接通过微博的域名+对应的链接跳转到相应的热搜,但是有一种标签,就是为荐的标签需要配置特殊的跳转,这里已经处理了。

  写这个东西呢前面也说了,想做个热搜的整合,不过刚写没多少就没有了热度。最初是想爬取数据+百度搜索+爬取第一条图片+推送这种思路push到手机上,然后就可以开开心心看热搜了!(流产了,遂记于此,并没有后续)

  pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 ...

  成长这个话题吧,我本不想去想,不想去谈,因为我对这种比较大的话题有一种抵触,总觉着我看到的只是冰山一角,在我没有看...

  这雨下到连心都是湿的 蔓延了整个灵魂直到眼角 窗外是灰暗,是淋漓 天空成了悲伤的载体 冷是雨的伴侣 无孔不入让你铭...