抓取jsp网页源代码(java项目有时候我们需要别人网页上的数据(组图))
优采云 发布时间: 2021-09-15 14:09抓取jsp网页源代码(java项目有时候我们需要别人网页上的数据(组图))
Java项目有时我们需要别人网页上的数据。我们该怎么办?我们可以使用第三方shelf包jsou来实现jsoup的中文文档。我们如何具体实施它?那就一步一步跟着我
第一件事是准备第三方机架包,下载地址,以及在获得jar后做什么?别担心,我们慢慢来
复制jsoup。Jar到项目的Webroot->;WEB-INF->;库文件夹
那么我们需要介绍一下这个架子包
右键单击项目并选择生成路径->;配置生成路径->;图书馆->;添加罐子->;在刚刚放入的目录下找到jsoup
准备工作已经完成,下一步是我们的编码部分。来吧
因为它是为了抓取网页的内容,所以必须捕获网站的地址。这里,以我的一个博客为标准
这是我文章文章的截图,例如,我想捕捉Android的零碎知识点,之后我会一直更新这一段
//获取整个网站的根节点,即从HTML的开始到结束。这里,get方法和post方法是相同的
Document Document=Jsoup.connect(url.get()
//输出它,我们将看到整个字符串,如下所示
系统输出打印项次(文件)
这里只是截图的一部分
我们将看到我们需要掌握的文本被包装在一个标签中,另一个重要的东西是id=CB_uu;post_uuuuuutitle_uuuurl,阅读过该文档的人应该知道在jsoup中有一个getelementbyid方法,它实际上与在JS中获取元素相同。在这里我们可以使用它
Getelementbyid方法来获取a标记。拿到之后,我们可以把里面的内容拿出来,对吗?Jsou还为我们提供了一个text()方法,用于获取标记的文本内容。请记住,它是以文本而不是HTML的形式出现的
如下所示,我们使用getelementbyid方法获取所需的a标记
元素a=document.getElementById(“cb_post_title_url”)
此时,我们的输出如下
System.out.println(a.text())
我们得到我们想要的了吗?当然,这只是jsoup的最简单捕获。如果需要以列表的形式获取,也可以获取jsoup。我们都知道ID是唯一的,不能重复,所以我们只能通过ID获得一行标签
但是对于一般列表,比如ulli,我们可以使用getelementsbytag方法通过标记名获取它们,然后通过for循环逐个获取它们。接下来,附上代码
package com.luhan.text;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class Text {
private static final String url = "http://www.cnblogs.com/luhan/p/5953387.html";
public static void main(String[] args) {
try {
//获取整个网站的根节点,也就是html开头部分一直到结束
Document document = Jsoup.connect(url).post();
Element a = document.getElementById("cb_post_title_url");
System.out.println(a.text());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我不会逐一介绍jsoup中的方法。如果您不明白,可以阅读jsoup的中文文档。让我谈谈更重要的方法
Jsoup.connect(url.post();获取网页的以下目录
Getelementbyid是通过ID获取的
Getelementsbyclass是通过类获取的
Getelementsbytag是通过标记名获得的
Text()获取标记的文本,再次强调文本
HTML()获取标记中的所有字符串,包括HTML标记
Attrib(attributekey)获取属性中的值。参数是属性名
注意
jsoup获得的网页根目录可能与源代码不同,因此需要小心
此时,jsoup抓取的网页数据结束了。不太好。欢迎提供更多指导。我使用Java控制台,JavaWeb和Android的用法是一样的。首先,导入框架,然后调用OK
方法