插件工具 - Jsoup学习

编程入门 行业动态 更新时间:2024-10-28 04:25:04

<a href=https://www.elefans.com/category/jswz/34/1771202.html style=插件工具 - Jsoup学习"/>

插件工具 - Jsoup学习

建筑的永恒之道

囫囵吞枣地看完了这本书,体会到了一些东西,开始感受无名特质:生气,完整,舒适,自由,准确,无我,永恒。

希望能在软件设计的过程中发现好的模式,顺应模式,忘却模式,创造模式。遵循道却不囿于道。

html解析器

  1. 从一个url、文件或字符串中解析html;
  2. 使用dom或css来查找、取出数据;
  3. 可操作html元素、属性、文本;
        /*** 根据属性选择*/public class JsoupDemo02 {public static void main(String[] args) throws Exception{//新建HttpClientCloseableHttpClient httpClient = HttpClients.createDefault();HttpGet httpGet = new HttpGet("/");//返回响应CloseableHttpResponse response = null;//执行请求try {response = httpClient.execute(httpGet);//获取实体HttpEntity entity = response.getEntity();//获取内容String content = EntityUtils.toString(entity,"utf-8");//获取Dom元素Document document = Jsoup.parse(content);//获取tag为标题的元素Elements elementsByTag = document.getElementsByTag("title");//打印标题内容System.out.println("网页第一个标题: "+elementsByTag.get(0).text());//获取网页id为site_nav_top的文档对象Element elementById = document.getElementById("site_nav_top");//打印该id对应的内容System.out.println("id为site_nav_top的内容:"+elementById.html());//获取class为post_item的元素Elements elementsByClass = document.getElementsByClass("post_item");for (Element element : elementsByClass) {System.out.println("class属性为post_item: " + element.html());}//获取属性是height的元素Elements elementsByAttribute = document.getElementsByAttribute("height");for (Element element : elementsByAttribute) {System.out.println("属性为height: " + element.toString());}//获取属性target的值为_blank的元素Elements elementsByAttributeValue = document.getElementsByAttributeValue("target", "_blank");for (Element element : elementsByAttributeValue) {System.out.println("属性target的值为_blank: "+ element.toString());}} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {//关闭资源if (response != null) {try {response.close();} catch (IOException e) {e.printStackTrace();}}}//关闭资源httpClient.close();}}/*** 根据选择器选择*/public class JsoupDemo03 {public static void main(String[] args) throws Exception{//新建HttpClientCloseableHttpClient httpClient = HttpClients.createDefault();HttpGet httpGet = new HttpGet("/");//返回响应CloseableHttpResponse response = null;//执行请求try {response = httpClient.execute(httpGet);//获取实体HttpEntity entity = response.getEntity();//获取内容String content = EntityUtils.toString(entity,"utf-8");//获取Dom元素Document document = Jsoup.parse(content);//使用id选择器Elements selectElements = document.select("#post_list .post_item .post_item_body h3 a");for (Element element : selectElements) {System.out.println("标题: "+element.text());System.out.println("博客地址: " + element.attr("href"));System.out.println("target: " + element.attr("target"));}System.out.println("------------");//选择带有href属性的a标签元素Elements hrefElements = document.select("a[href]");for (Element element : hrefElements) {System.out.println("a标签的链接: "+element.toString());}//选择扩展名为.png的图片Elements imgElements = document.select("img[src$=.png]");for (Element element : imgElements) {System.out.println("图片: " + element.toString() );}//获取第一个标题Element title = document.getElementsByTag("title").first();System.out.println("网页标题: " + title.text());} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {//关闭资源if (response != null) {try {response.close();} catch (IOException e) {e.printStackTrace();}}}//关闭资源httpClient.close();}}

更多推荐

插件工具 - Jsoup学习

本文发布于:2023-07-28 18:02:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1269974.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:插件   工具   Jsoup

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!