zoukankan      html  css  js  c++  java
  • jsoup解析html

    • 介绍

    Jsoup

    jsoup 是一款 Java 的 HTML 解析器,可解析某个 URL 地址、HTML 文本内容,然后生成 Document 对象

    提供了类似CSS或jQuery的语法来查找和操作元素

    • 查找元素

    生成Document对象

            Document doc = Jsoup.connect("http://www.cnblogs.com/archie2010/")
                    .get();

    查看本网页的源代码,找比较有特征的元素进行操作

    1、查找网页的<title>元素,即网页标题

            Elements title=doc.select("title");
            System.out.println("title标签元素:\n"+title);

    title标签元素:
    <title>archie2010 - 博客园</title>

    2、查找id="tagline"的无素

    #id元素:
    <p id="tagline">$要有勇气去开始</p>

    3、查找class="postTitle"的元素

    Elements elementPostTitle=doc.select(".postTitle");

    4、查找class="postTitle"的元素下链接元素

            Elements elementPostTitle=doc.select(".postTitle a");
            System.out.println(".class元素:\n"+elementPostTitle);

    选择器概述

    tagname: 通过标签查找元素,比如:a
    ns|tag: 通过标签在命名空间查找元素,比如:可以用 fb|name 语法来查找 <fb:name> 元素
    #id: 通过ID查找元素,比如:#logo
    .class: 通过class名称查找元素,比如:.masthead
    [attribute]: 利用属性查找元素,比如:[href]
    [^attr]: 利用属性名前缀来查找元素,比如:可以用[^data-] 来查找带有HTML5 Dataset属性的元素
    [attr=value]: 利用属性值来查找元素,比如:[width=500]
    [attr^=value], [attr$=value], [attr*=value]: 利用匹配属性值开头、结尾或包含属性值来查找元素,比如:[href*=/path/]
    [attr~=regex]: 利用属性值匹配正则表达式来查找元素,比如: img[src~=(?i)\.(png|jpe?g)]
    *: 这个符号将匹配所有元素

    • 从元素中获取属性值,文本

    直接上代码:

            Document document= Jsoup.connect("http://www.cnblogs.com/")
            .post();
            
            //获取<title></title>标签内的文本(即此网页的标题)
            System.out.println(document.select("title").text());
            
            //获取博文链接元素
            Elements postElements=document.select(".titlelnk");
            
            Elements foot=document.select(".post_item_foot");
            
            for (int i = 0; i < postElements.size(); i++) {
                System.out.println("博文"+(i+1)+":"+postElements.get(i).text());
                //获得属性href的值
                System.out.println("链接:"+postElements.get(i).attr("href"));
                //获得指定foot元素内的第一个a标签元素内的文本(即作者)
                System.out.println("发布人:"+foot.get(i).select("a").first().text());
           //href属性的值 System.out.println(foot.get(i).select(
    "a").attr("href")+"\n"); }

    by archie
  • 相关阅读:
    用Bootstrap框架弹出iframe页面 在弹出的模态框中载人iframe页面,bootstrapiframe
    Jquery Ajax表单提交插件jquery form用法
    ASP.NET MVC 在控制器中接收视图表单POST过来的数据方法
    RabbitMQ用户管理+VirtualHost管理
    Linux 查看Oracle 信息
    页面元素的坐标位置
    Selenium之Action Chains类
    测试管理:用量化的思想管理工作
    Python selenium ---父子,兄弟,相邻节点定位方式详解
    webdriver 清空input元素的值
  • 原文地址:https://www.cnblogs.com/archie2010/p/3012257.html
Copyright © 2011-2022 走看看