Jsoup

使用Jsoup.connect(String url)方法:

Document doc = Jsoup.connect(“https://jsoup.org/”).get();
String title = doc.title();
IDEA 实例:

@Test
public void Demo03() throws IOException {
	//请求jsoup主页并获取到网页的标题
    Document doc = Jsoup.connect("https://jsoup.org").get();
    String title = doc.title();
    System.out.println("获取jsoup页面的标题:" + title);
}

描述

该connect(String url)方法创建一个新的Connection,并get()提取和解析HTML文件。如果在获取URL时发生错误,它将抛出一个IOException,您应该适当处理。

该Connection接口设计用于方法链接以构建特定请求:

//您可以添加数据,Cookie和标头; 设置user-agent,referrer,method; 然后执行。
Document doc = Jsoup.connect(“https://jsoup.org”)
.data(“query”, “Java”)
.userAgent(“Mozilla”)
.cookie(“auth”, “token”)
.timeout(3000)
.post();

在将HTML解析为a后,使用类似DOM的方法Document。

  Document doc = Jsoup.connect("https://jsoup.org")

Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
  String linkHref = link.attr("href");
  String linkText = link.text();
}

IDEA 实例:

@Test
public void Demo05() throws IOException {
//解析html
Document doc = Jsoup.connect(“https://jsoup.org”).get();
//根据标签名查找
Elements links = doc.getElementsByTag(“a”);
for (Element link : links) {
System.out.println(“link-----------”+link);
//获取和attr(String key, String value)设置属性
String linkHref = link.attr(“href”);
System.out.println(“获取和attr(String key, String value)设置属性—”+linkHref);
//获取和text(String value)设置文本内容
String linkText = link.text();
System.out.println(“获取和text(String value)设置文本内容----”+linkText);
}
}

元素提供了一系列类似DOM的方法来查找元素,并提取和操作它们的数据。DOM getter是上下文的:在父文档上调用它们在文档下找到匹配的元素; 他们在一个子元素上调用了那个孩子下面的元素。通过这种方式,您可以了解所需的数据。

寻找元素

  • getElementById(String id) //根据ID 查询

  • getElementsByTag(String tag) //根据标签名

  • getElementsByClass(String className) //根据class 名

  • getElementsByAttribute(String key) (及相关方法)

  • 元素的兄弟姐妹:siblingElements()firstElementSibling()lastElementSibling()nextElementSibling()previousElementSibling()

  • 图:parent()children()child(int index)
    元素数据

  • attr(String key)获取和attr(String key, String value)设置属性

  • attributes() 获得所有属性

  • id()className()classNames()

  • text()获取和text(String value)设置文本内容

  • html()获取和html(String value)设置内部HTML内容

  • outerHtml() 获取外部HTML值

  • data()获取数据内容(例如scriptstyle标签)

  • tag()tagName()
    处理HTML和文本

  • append(String html)prepend(String html)

  • appendText(String text)prependText(String text)

  • appendElement(String tagName)prependElement(String tagName)

  • html(String value)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值