在一些网络爬虫或者从第三方网站抓取信息的程序都面临1个问题,如何从网页中把所需的信息提取出来,Jsoup是个比较好的选择,它能把网站内容解析成Document,再从document中取element就是个简单的事了。这里介绍1下Jsoup的基本用法。
首先需要下载jar包,
1、Jsoup解析字符串
public void parseString() { String html = "token: "; //Jsoup解析html Document doc =Jsoup.parse(html,"utf-8"); //根据id获取元素 Element e1 = doc.getElementById("token"); //根据属性获取元素s Elements e2s = doc.getElementsByAttribute("onclick"); //根据属性+属性值 Elements e3s = doc.getElementsByAttributeValue("type", "text"); //根据class Elements e4s = doc.getElementsByClass("butt"); //根据 标签 Elements e5s = doc.getElementsByTag("head"); Elements e6s = doc.select("input[type]"); p(e6s); }
2、Jsoup解析url
Jsoup可以直接解析1个网址,把网站的返回内容解析出来
public void parseUrl() { try { URL url = new URL("http://www.baidu.com"); Document doc = Jsoup.parse(url, 1000); Elements e1s = doc.select("a[href=http://news.baidu.com]"); p(e1s); } catch (IOException e) { e.printStackTrace(); } }
3、Jsoup解析本地文件
可以把html文件解析出来
public void parseFile() { File file = new File("C:/Users/Administrator/Desktop/测试页面.html"); try { Document doc = Jsoup.parse(file, "GBK"); p(doc); } catch (IOException e) { e.printStackTrace(); } }
public static void p(Object o) { System.out.println(o); }