今天千锋广州Java小编给大家分享如何用Jsoup实现爬虫技术,下面一起来看看吧!
1.Jsoup简述
Java中支持的爬虫框架有很多,比如WebMagic、Spider、Jsoup等。今天我们使用Jsoup来实现一个简单的爬虫程序。
Jsoup拥有十分方便的api来处理HTML文档,比如参考了DOM对象的文档遍历方法,参考了CSS选择器的用法等等,因此我们可以使用Jsoup快速地掌握爬取页面数据的技巧。
2.快速开始
1)编写HTML页面
![e4e69a964cd6b449aa9432f793af1742.png](https://i-blog.csdnimg.cn/blog_migrate/4f5c626564b7fa47dbd622526d7972f5.jpeg)
页面中表格的商品信息是我们要爬取的数据。其中属性pname类的商品名称,以及属于pimg类的商品图片。
2)使用HttpClient读取HTML页面
HttpClient是一个处理Http协议数据的工具,使用它可以将HTML页面作为输入流读进java程序中。可以从http://hc.apache.org/下载HttpClient的jar包。
![6c62df2054d72c6d1d5ea5067de1aa47.png](https://i-blog.csdnimg.cn/blog_migrate/7d4fd8aaa84b98ff2a90674978b5938d.jpeg)
3)使用Jsoup解析HTML字符串
通过引入Jsoup工具,直接调用parse方法来解析一个描述HTML页面内容的字符串来获得一个Document对象。该Document对象以操作DOM树的方式来获得HTML页面上指定的内容。相关API可以参考Jsoup官方文档:https://jsoup.org/cookbook/
下面我们使用Jsoup来获取上述HTML中指定的商品名称和价格的信息。
![29dcb10b28282277e6928a74281bee4b.png](https://i-blog.csdnimg.cn/blog_migrate/d3d09dba91f54b5694c9e0ea9f01c047.jpeg)
至此,我们已经实现使用HttpClient+Jsoup爬取HTML页面数据的功能。接下来,我们让效果更直观一些,比如将爬取的数据存到数据库中,将图片存到服务器上。
3.保存爬取的页面数据
1)保存普通数据到数据库中
将爬取的数据封装进实体Bean中,并存到数据库内。
![f87492a696bd6c23123d1c7f94141407.png](https://i-blog.csdnimg.cn/blog_migrate/7ebae8be9e91f86d5e8f473832d2958b.jpeg)
2)保存图片到服务器上
直接通过下载图片的方式将图片保存到服务器本地。
![a037d45d3432087df81990285464e211.png](https://i-blog.csdnimg.cn/blog_migrate/e03d030c9c5a104b26fe8391c3779dd1.jpeg)
4.总结
本案简单实现了使用HttpClient+Jsoup爬取网络数据,对于爬虫技术本身,还有很多值得深挖的地方,以后再为大家讲解。