前言
本文主要是讲jsoup
爬取网页上的数据用法,具体介绍请看:
安装
as用户可直接依赖
implementation org.jsoup:jsoup:1.11.1
其他用户请看 https://jsoup.org/download
使用
下面的html来自干货集中营,就先以这个为例:
获取Document对象
Document对象可以看成一个一个HTML文档。
// 连接提供了一个方便的接口来从web获取内容,并将它们解析为文档
final Connection connect = Jsoup.connect("http://gank.io/xiandu/");
// 伪装成浏览器抓取,具体有没用布吉岛。。
connect.header("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/20100101 Firefox/32.0");
// 通过get()获取一个Document对象
final Document document = connect.get();
获取HTML head内容
我们想获取网页的标题,可以直接通过:
String title = document.head().select("title").text();
System.out.println(title);
输出:「读那些值得读的」
获取HTML body内容
前面的是不是感觉很简单,现在这个虽然复杂了一点,但是逻辑理清楚了,自然就简单很多了
<div class="typo">
<div class="container content">
<style>
<!-- 省略部分html --!>
</style>
<h3 class="center"> 闲读 </h3>
<p class="center" style="color: #747474;">
读那些值得读的
</p>
<div id="xiandu_cat">
<ul>
<li><a style="border: 1px solid #747474;" href="/xiandu">科技资讯</a></li>
<li><a href="/xiandu/apps">趣味软件/游戏</a></li>
<li><a href="/xiandu/imrich">装备党</a></li>
<li><a href="/xiandu/funny">草根新闻</a></li>
<li><a href="/xiandu/android">Android</a></li>
<li><a href="/xiandu/diediedie">创业新闻</a></li>