序言:在不知道jsoup框架前,因为项目需求。须要定时抓取其它站点上的内容。便想到用HttpClient方式获取指定站点的内容。这样的方法比較笨,就是通过url请求指定站点。依据指定站点返回文本解析。说白了HttpClient充当一下浏览器的角色。返回的文本须要自己处理,一般都是用string.indexOf或者string.subString方法处理。
当有一天发现jsoup这个框架时一时感慨。之前的方法太笨了。。。
jsoup 是一款Java 的HTML解析器。可直接解析某个URL地址、HTML文本内容。它提供了一套很省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
jsoup主要功能
1. 从一个URL,文件或字符串中解析HTML。
2. 使用DOM或CSS选择器来查找、取出数据。
3. 可操作HTML元素、属性、文本;
jsoup是基于MIT协议公布的。可放心使用于商业项目。
jsoup使用方法
File input = new File("D:\test.html");
Document doc =Jsoup.parse(input,"UTF-8","网址");
Elements links = doc.select("a[href]"); // 具有href 属性的链接
Elements pngs = doc.select("img[src$=.png]");//全部引用png图片的元素
Element masthead =doc.select("div.masthead").first();
有没有感觉似曾相识呢。没错,里边的使用方法跟javascript和jquery非常像,所以简单看下jsoup的API就能够直接使用了。
jsoup都能够做什么呢?
1、CMS系统经常使用来做新闻的抓取(爬虫)
2、防止XSS攻击。跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS
2、站点的攻击、破坏(须要熟悉HTTP协议)