简单爬虫(一)

前言

荒废的时光。。。。。果然有些东西真的是一时心血来潮,坚持真的很重要的。最近也是心血来潮,研究了一下网络爬虫的套路。其实很简单,就是模拟http请求网页,然后获取静态的html字符串,使用解析工具解析html获取你想要的结果。我不知道说的对不对,可能真正写爬虫的会觉得这种想法是很low。我也想了解更深次的爬虫,可以一直爬的爬虫,什么深度遍历广度遍历算法,异步解析啊,这里面学问很深。不过不要紧,慢慢来,万丈高楼平地起,由简入难,坚持,总有一天你会成功的。

简单爬虫-获取腾讯视频vip视频url

最先接触爬虫,我能想到的就是获取静态页的视频url.所以就拿腾讯视频练练手。前面也说了,我的方法很简单就是模拟http请求,然后解析html。

HttpClients

模拟http请求,我用了最简单的apache的httpclient包。依赖如下:

1
2
3
4
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>

因为是用springboot集成的,我用是springboot1.5.3,它依赖的httpclient版本是4.5.3。

jsoup

通过httpGet请求获取到返回结果后,我们就需要对返回结果对解析,从中提取我们想要的视频url。这里我用了爬虫大神都会用的jsoup工具。依赖如下:

1
2
3
4
5
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.3</version>
</dependency>

我们先看看腾讯视频的视频地址的静态页:
视频url
点开其中一个item,我们可以看到里面包括了视频的url,视频的头像url,视频的描述,评分,大家看有mark_v的clsaa,那是视频的一个标签,表示vip,用劵,付费等观看条件。知道这些以后那很简单,我们通过jsoup提供的select方法获取标签元素,在遍历元素,获取元素的属性等信息,就拿到了我们想要的结果了。

代码

源码我就不贴了,有兴趣到我github上去看看,写的很low,还需要优化。

坚持原创技术分享,您的支持将鼓励我继续创作!