jsoup的Elements Api 使用

利用 Jsoup 进行高效 Web 抓取与 HTML 处理 标签:h1 + pJsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 JQuery 的操作方法来取出和操作数据。 阅读详情
public static void main(String[] args) {
// 根据全国各个高校的地址,获取视频中相应列表的URL和要抓取的值
        Document document = null;
        try {
            document = Jsoup
                    .connect(
                            "http://gaokao.chsi.com.cn/sch/search.do?start=0")
                    .get();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Element element = document.body();
        //System.out.println(element);
        Elements ths = document.select("th");
        System.out.println(ths);
        Elements tds = document.select("td");
        System.out.println(tds);
}
 
一、简介
该类是位于select包下,直接继承自Object,所有实现的接口有Cloneable, Iterable<Element>, Collection<Element>, List<Element>类声明:public class Elements extends Object implements List<Element>, Cloneable可以使用Element.select(String) 方法去得到Elements 对象。
二、构造方法
1、public Elements()  默认构造方法
2、public Elements(int initialCapacity) 指定一个初始容量创建一个Elements对象。
3、public Elements(Collection<Element> elements)  使用已知元素集创建一个Elements对象。
4、public Elements(List<Element> elements)  使用已知元素的List集合创建一个Elements对象。
5、public Elements(Element... elements) 使用已知元素的可变参数列表创建一个Elements对象。
三、方法详细
1、public Elements clone()  克隆
2、public String attr(String attributeKey) 根据键得到第一个匹配的元素(匹配即为有这个属性)。
3、public boolean hasAttr(String attributeKey)   元素集中存在任何一个元素匹配(有这属性)则返回true。
4、public Elements attr(String attributeKey, String attributeValue) 将 所有匹配attributeKey键的元素的值设置为attributeValue。
5、public Elements removeAttr(String attributeKey)  移除元素集中任何一个匹配的元素
6、public Elements addClass(String className)  将className增加到每一个匹配的元素的class属性上。
7、public Elements removeClass(String className)  从每一个匹配的元素上移除该className
8、public Elements toggleClass(String className)   对每一个匹配的元素的class属性上进行反转。(有则移除,没有则新增)。
9、public boolean hasClass(String className)  检测是否有任何一个匹配的元素在class属性有给定的className值。
10、public String val()  得到第一个匹配元素的表单的值。
11、public Elements val(String value)   对每一个匹配的元素设置表单值。
12、public String text()  得到所有匹配元素文本的综合。该方法在某些情况下会得到重复数据。
13、public boolean hasText() 检测是否有文本内容
14、public String html()  得到所有匹配元素的内部html的综合。
15、public String outerHtml()  得到所有匹配元素的外部html的综合。
16、public String toString()  得到所有匹配元素的外部html的综合。
17、public Elements tagName(String tagName)  更新每个匹配元素的tag name.   如想把每个<i>变成<em>,可以这样:doc.select("i").tagName("em");
18、public Elements html(String html)  设置每个匹配元素的内部html。
19、public Elements prepend(String html)   将指定html增加到每个匹配元素的内部html开头。
20、public Elements append(String html)   将指定html增加到每个匹配元素的内部html末尾。
21、public Elements before(String html)   在每个匹配元素的外部html前面插入指定html。
22、public Elements after(String html)   在每个匹配元素的外部html后面插入指定html。
23、public Elements wrap(String html)  用指定html包装每个匹配的元素。
例如,对于这个html:<p><b>This</b> is <b>Jsoup</b></p>,执行这个包装:doc.select("b").wrap("<i></i>")后就变成:<p><i><b>This</b></i> is <i><b>jsoup</b></i></p>
24、public Elements unwrap()   移除匹配的元素但保留他们的内容。示例:<div><font>One</font> <font><a href="/">Two</a></font></div>   执行 doc.select("font").unwrap()   变成:<div>One <a href="/">Two</a></div>
25、public Elements empty()  清空每个匹配元素的内容。示例:<div><p>Hello <b>there</b></p> <p>now</p></div>  执行doc.select("p").empty()  变成<div><p></p> <p></p></div>
26、public Elements remove()  从DOM树中移除匹配的元素。示例:<div><p>Hello</p> <p>there</p> <img /></div>   执行doc.select("p").remove()后 变成<div> <img /></div>
27、public Elements select(String query)  根据query选择器查询匹配的元素集。
28、public Elements not(String query)  移除匹配选择器的元素集   返回过滤后的元素集。
29、public Elements eq(int index)  根据index得到匹配的元素
30、public boolean is(String query)  检测是否有一个元素匹配给定的选择器。
31、public Elements parents()   得到匹配元素集的所有父类元素和祖先元素集
32、public Element first()  得到第一个匹配的元素
33、public Element last()   得到最后一个匹配的元素
34、public Elements traverse(NodeVisitor nodeVisitor)  对被查询的元素执行一次深度优先的遍历。
35、public int size()  元素集的长度。
36、public boolean isEmpty()   检测是否为空
37、public boolean contains(Object o)  检测是否包含指定对象
38、public Iterator<Element> iterator()   得到迭代器对象
39、public Object[] toArray()  将元素集转换为数组
40、public <T> T[] toArray(T[] a)
41、public boolean add(Element element)  新增元素
42、public boolean remove(Object o)  移除指定元素
43、public boolean containsAll(Collection<?> c)  参照java中的List或Collection用法.
44、public boolean addAll(Collection<? extends Element> c)  参照java中的List或Collection用法.
45、public boolean addAll(int index, Collection<? extends Element> c)  参照java中的List或Collection用法.
46、public boolean removeAll(Collection<?> c)     参照java中的List或Collection用法.
47、public boolean retainAll(Collection<?> c)  参照java中的List或Collection用法.
48、public void clear() 清空元素集
49、public Element get(int index)  根据索引得到指定元素
50、public Element set(int index, Element element)  根据索引设置指定元素
51、public void add(int index, Element element) 在指定位置增加元素
52、public Element remove(int index)  移除指定位置的元素
53、public int indexOf(Object o)  得到指定元素的索引(第一次出现的位置)
54、public int lastIndexOf(Object o) 得到指定元素最后一次出现的位置。
55、public ListIterator<Element> listIterator() 具体参照List<Element>
56、public ListIterator<Element> listIterator(int index)  具体参照List<Element>
57、public List<Element> subList(int fromIndex, int toIndex)  根据起始点得到子集
第一种方法解析html,保存文件内容:public void schoolGrab() throws IOException {    // 根据地址,获取网页中相应列表的URL和text()值    Document document = null;    String filePath = "E:/school.txt";    WriteToTxt writeToTxt = new WriteToTxt();    writeToTxt.isExitsFile(filePath);    PrintStream ps = new PrintStream(new FileOutputStream(new File(filePath)));    try {        document = Jsoup.connect("http://gaokao.chsi.com.cn/sch/search.do?start=0") .get();    } catch (IOException e) {        e.printStackTrace();    }    Element element = document.body();    //System.out.println(element);    //Elements ths = document.select("th").removeAttr("th");    Elements ths = document.select("th");    System.out.println(ths.size());    //System.out.println(ths);    Elements tds = document.select("td");    //System.out.println(tds);    //Elements td = doc.getElementsByAttributeValue("class", "nlctd1");//后续有可能用到,留下以备不时之需    //解析html中的标题头 形成javaBean schoolIntroduction    for (Element e : ths) {        //调用写入文件的方法,写入到文件中        String text = e.getElementsByTag("th").text().trim();        ps.print(text);// 往文件里写入字符串        ps.print("\r\t");        System.out.println(text);        /*if ("院校名称".equals(text)) {            //这里可以定位到“提名与责任”的td标签            System.out.println(text);        }*/    }    ps.println();    //解析td标签    int flag = 1;    for(Element e : tds) {        //调用写入文件的方法,写入到文件中        String text = e.getElementsByTag("td").text().trim();        ps.print(text);// 往文件里写入字符串        ps.print("\r\t");        System.out.println(text);        if(flag%8==0){            ps.println();        }        flag ++;        /*if ("院校名称".equals(text)) {            //这里可以定位到“提名与责任”的td标签            System.out.println(text);        }*/    }我发现第二种方法更加方便
//测试代码,追加文件
FileWriter writer = null;
int flag = 1;
try {
    // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
    writer = new FileWriter(filePath, true);
    for(Element e : tds) {
        //调用写入文件的方法,写入到文件中
        String text = e.getElementsByTag("td").text().trim();
        writer.write(text);
        writer.write("\r\t");
        if(flag%8==0){
            writer.write("\r\n");
        }
        flag ++;
        System.out.println(text);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if(writer != null){
            writer.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

原文链接:https://www.cnblogs.com/jueyushanlang/p/9105056.html

jsonp中文API:http://www.open-open.com/jsoup/
英文API:https://jsoup.org/apidocs/overview-summary.html

api-elements:API Elements是一种用于描述API及其内部使用的复杂数据结构的结构 API元素 API Elements是一种用于描述API及其内部使用的复杂数据结构的结构。 它还提供了用于定义解析结果的结构,该解析结果用于从API Blueprint和Swagger / OpenAPI Format之类的格式解析API定义。 文档和参考 请参考以获取更多信息。 立即下载

相关推荐

jsoup 中文 api 文档

jsoup 中文 api 文档,网页版,方便查看

jsoup 的基本使用以及API内容

下面是 Jsoup 的 API,参考自:jsoup官方文档 public class org.jsoup.Jsoup 类 extends Object 所有方法 修饰符和类型 方法名称 描述 static String clean​(String bodyHtml, String baseUri, Whitelist whitelist) 通过解析输入HTML并通过允许的标签和属性的白名单对其进行过滤,从不受信任的输入HTML中获得安全的HTML。 static String clean

shijialeya 7793

JsoupAPI(jsoup帮助文档)

JsoupAPI jsoup最新版帮助文档(1.10.2)

Jsoup入门:解析html 抽取数据

一:入门介绍 解析和遍历一个HTML文档 如何解析一个HTML文档: String html = "First parse"   + "Parsed HTML into a doc."; Document doc = Jsoup.parse(html); 其解析器能够尽最大可能从你提供的HTML文档来创见一个干净的解析结果, 无论HTML的格式是否完整。比如它可以处理

一骑绝尘,笑傲江湖 1699

Jsoup中文Api.docx

jsoup爬虫API,可解析和遍历HTML文档,解析一个HTML字符串,从一个URL加载一个Document,从一个文件加载一个文档等

Jsoup中文API

Jsoup中文API

maven、gradle 中依赖的 scope 含义

maven、gradle 中依赖的 scope 含义真谛

一步一步往上爬 2156

保姆级教程:在爱快iKuai虚拟机里装OpenWrt旁路由,实现去广告和特殊功能

本文提供在爱快iKuai虚拟机中安装OpenWrt旁路由的详细教程,帮助用户实现去广告和特殊功能扩展。通过分步指导,包括虚拟机配置、网络设置和功能优化,打造稳定高效的家庭网络环境,特别适合软路由爱好者和网络管理员。

weixin_31364787的博客 810

java02elements.attr_jsoup的Elements Api 使用

public static void main(String[] args) {// 根据全国各个高校的地址,获取视频中相应列表的URL和要抓取的值Document document = null;try {document = Jsoup.connect("http://gaokao.chsi.com.cn/sch/search.do?start=0").get();} catch (IOExc...

weixin_28909601的博客 1001

J-LINK下载程序出现No Cortex-M Device found in JTAG chain…问题,最全7种解决方法

J-Link下载程序出现No Corect 等的问题的7种方法 后来编辑JLinkSettings.ini文件,找到"Device"项,将其更改Device="Cortex-M0+"

cjmsea的博客 5611

Discrete Optimization (Coursera) 学习笔记 Week 1 introduction (开个帖子)

Week 1 Introduction 这位教授Pascal Van Hentenryck 真的算是优化领域神级别的人物了吧?截一张Google scholar的图大家感受一下… 居然在Coursera上看到了他开的课:Discrete Optimization。试听了几节后,发现讲得很有激情,而且深入浅出。遂决定花暑假跟完这一门课。 这门课每周花两三个小时介绍基础概念,然后得花十几个小时写作业(coding)… 一开始以为Coursera上的课的作业应该不会太难,然后第一次作业(knapsack)我就被

ZJ_11701的博客 656

Jsoup 处理html 元素(Elements类种各个方法的使用说明)

static void main(String[] args) { // 根据全国各个高校的地址,获取视频中相应列表的URL和要抓取的值 Document document = null; try { document = Jsoup .connect( ...

duan13431255543的博客 3357

STM32 FDCAN热插拔恢复机制与自动重发功能优化

本文深入分析了STM32 FDCAN在热插拔场景下触发bus-off状态导致通讯中断的根本原因,指出自动重发功能是问题关键。通过禁用自动重发、配置硬件自动恢复机制及优化总线参数,实现了FDCAN热插拔后的100%稳定恢复,为工业应用提供了可靠的CAN总线解决方案。

ice55的博客 685

jsoup-1.7.2.jar 包

org.jsoup.Jsoup; org.jsoup.nodes.Document; org.jsoup.nodes.Element; org.jsoup.select.Elements;

weixin_33955681的博客 446

Docker 与容器技术的未来:从 OCI 标准到 eBPF 的演进

OCI 的核心目标是创建一个开放的、厂商中立的容器技术标准。这意味着,只要一个容器镜像符合 OCI 镜像格式规范,它就可以在任何符合 OCI 运行时规范的容器运行时上运行。eBPF 是一种革命性的技术,它允许在 Linux 内核中安全地运行沙盒程序,而无需修改内核源代码或加载内核模块。这些程序可以注册到内核中的各种事件点(如网络包到达、系统调用、函数调用/返回),并在事件发生时执行自定义逻辑。核心思想是:在不将数据复制到用户空间的情况下,程序可以直接在内核中处理数据,极大地提高了效率和性能。

专栏 1381

Linux V4L2驱动开发实战:手把手教你用I2C摄像头Sensor注册一个v4l2_subdev

本文详细解析了Linux V4L2驱动开发中I2C摄像头Sensor注册v4l2_subdev的全流程,包括初始化、操作集填充、异步匹配等关键环节。通过实战案例和代码示例,帮助开发者掌握V4L2子系统下的摄像头驱动开发技巧,提升嵌入式Linux系统开发能力。

weixin_30328063的博客 418

XML解析器(一)Jsoup

目录 Jsoup Jsoup解析步骤 Jsoup对象使用  Jsoup         jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 Jsoup解析步骤 JSOUP中文帮助API:    http://www.open-open.com/j...

平安 6265

基于STM32控制直流电机加减速正反转仿真设计

*单片机设计介绍,基于STM32控制直流电机加减速正反转仿真设计。

2201_75940997的博客 1602

使用jsoup抓取和解析网页数据

jsoup是一个强大的Java库,可以用于解析HTML文档。它提供了许多常用的API,用于选择、遍历和修改HTML文档中的元素和属性。选择器(Selector)API:用于根据CSS选择器语法选择HTML元素。属性(Attribute)API:用于获取、设置和移除HTML元素的属性。遍历(Traversal)API:用于遍历HTML文档中的元素。操作(Manipulation)API:用于修改HTML文档中的元素和属性。接下来,我们将逐一介绍这些API,并给出相应的代码示例。

小易 4103

基于机器学习和深度学习的新能源功率预测研究综述--学术论文模式--个人梳理

本文是博主根据前人的研究成果总结的机器学习和深度学习等理论方法在新能源功率预测领域的相关研究内容要点,按照学术科技论文写作的模式进行的呈现,包括文章引用等也都做了详细的批注,花了很多时间和心血,一方面是对自己学习成果的一些总结,另一方面也希望对大家有用(尽量不要直接copy哦,转载请标注,如有不当请评论或私信指出哦可再生能源的间歇性给新型电力系统的运行带来了巨大挑战,准确地预测新能源出力对于电网的安全可靠运行尤为重要。

干吧滴! 6320

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jsoup api使用

文章目录前言一、获取网页源码二、获取元素1.创建Document对象2.通过DOM获取对象3.通过select获取对象4.获取单个对象5.获取文本三、JSON和对象的互相转换1.对象转换成JSON字符串2.JSON字符串转化成单个对象3.JSON字符串转化成某个类的数组总结 前言 我们可以使用jsoup包来爬取一些网站上的信息,并对其进行处理 一、获取网页源码 依赖包: import okhttp3.ConnectionPool; import okhttp3.Dispatcher; import ok

weixin_47805561的博客 774

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

使用JSoup解析HTML文件

HTML是WEB的核心,互联网中你看到的所有页面都是HTML,不管它们是由JavaScript,JSP,PHP,ASP或者是别的什么WEB技术动态生成的。你的浏览器会去解析HTML并替你去渲染它们。不过如果你需要自己在Java程序中解析HTML文档并查找某些元素,标签,属性或者检查某个特定的元素是否存在的话,那又该如何呢?如果你已经使用Java编程多年了,我相信你肯定试过去解析XML,也使用过类似

Yoga-jiang 908

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java Code Examples for org.jsoup.select.Elements

http://www.programcreek.com/java-api-examples/index.php?api=org.jsoup.select.Elements Code Example 1:   1  From project jsoup, under directory /src/test/java/org/jsoup/integration

woshizoe的专栏 1791

详解JSOUP的Select选择器语法

本文参考:JSOUP中文文档 问题 你想使用类似于CSS或jQuery的语法来查找和操作元素。 方法 可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现: //从本地加载html文件 File input ...

weixin_34375233的博客 4039

jsoup的Elements类

一、简介 该类是位于select包下,直接继承自Object,所有实现的接口有Cloneable, Iterable, Collection, List 类声明:public class Elements extends Object implements List, Cloneable 可以使用Element.select(String) 方法去得到Elements 对象。 二、构造方法...

JavaPub 645
上一篇: js编码解码decodeURI()与decodeURIComponent()的区别
下一篇: el-tree的默认选择节点的样式
java_xxxx
博客等级 码龄9年 127粉丝 99原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值