Java爬虫入门篇(一)

本文中使用的HttpClient是在apache HttpClient的基础上封装的class,文章末尾会给出源码分享

思路:首先我们用HttpClient模拟请求,获取到html代码,用jsoup解析过滤html,获取我们想要的数据。

场景描述:因为我要抓取这个网站所有分页的数据,我在用HttpClient模拟请求之前,在chrome中直接访问url,发现请求被重定向?这就很麻烦了!

分析:正常我们通过发出的request请求这个参数都会有值,当我们通过其他方式访问的时候(浏览器直接访问,HttpClient)这个参数值为

request

防盗链大致代码如下:

防盗链的作用限制你只能在浏览器端通过类似这种请求去访问,禁止其他方式请求,所以我们只需要在请求的时候模拟这个参数就ok了!

下面看核心代码

maven

模拟请求

这时候已经获取html代码了,可以开始抓取数据了

先分析页面结构

html

我需要的数据,全在中,所以我们要获取所有的,然后遍历

具体代码为:

然后遍历Elements,进一步筛选。

jsoup 语法类似 jquery,相比用正则表达式,我觉得这种方式更便捷一些吧

下面是我的源码

HttpClient工具类源码链接:https://pan.baidu.com/s/1mkl9yL6密码: hfzv

参考文献

jsoup 中文api

HttpClient参考博客,感谢原作者

原文:https://www.jianshu.com/p/19fb5ec33b99

这里是开发者交流聚集地,欢迎加入我们一起技术分享,互相交流!

免费交流群:关注本公众号,在公众号回复“交流”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180608G17S5Q00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券