序言:在不知道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协议)
时间: 2024-10-20 06:59:28