摘要:基于 Jsoup 实现一个 Android 的网络爬虫程序,抓取网页的内容并显示出来。写这个程序的主要目的是抓取海投网的宣讲会信息(公司、时间、地点)并在移动端显示,这样就可以随时随地的浏览在学校举办的宣讲会信息了。
一、Jsoup简介
Jsoup 是一个 Java 的开源HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常方便的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
Jsoup主要有以下功能:
-
从一个URL,文件或字符串中解析HTML;
-
使用DOM或CSS选择器来查找、取出数据;
-
对HTML元素、属性、文本进行操作;
-
清除不受信任的HTML (来防止XSS攻击)
好了,下面写几段代码来说明 Jsoup 是如何优雅的进行 HTML 文档处理的。首先,我们需要去Jsoup官网 下载Jsoup的jar
包,然后加入项目的依赖库中。
1) HTML解析
Jsoup 可以从一个字符串、文件或者一个 URL 中解析HTML,解析的目的主要是为了得到一个干净完整的解析结果,并生成 Document 对象实例。
// Parse a document from a String
String html = "<html><head><title>神奕的博客</title></head>"
+"<body><p>搭个博客写学习笔记!!</p></body></html>";
Document doc = Jsoup.parse(html);
// Load a Document from a File
File input = new File("D://a.html");
Document doc = Jsoup.parse(input, "UTF-8");
// Load a Document from a URL
Document doc = Jsoup.connect("http://example.com/").get();