要在Java代码中解析html,获取其中的值,可以使用Jsoup这个第三方开源库。下面是使用Jsoup的步骤:
第一步:导入Jsoup库
使用Maven导入依赖:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
第二步:获取html页面
可以使用Java中的URL,URLConnection和BufferedReader等类,获取html页面的内容。
URL url = new URL("http://www.example.com");
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder htmlBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
htmlBuilder.append(line);
}
String html = htmlBuilder.toString();
第三步:使用Jsoup解析html页面
使用Jsoup.parse方法将获得的html字符串解析为Document对象。Document对象提供了各种选择器,可以方便地获取页面中的元素。
Document doc = Jsoup.parse(html);
Elements elements = doc.getElementsByTag("a");
for (Element element : elements) {
System.out.println(element.attr("href"));
}
以上示例获取页面中所有的链接,还可以使用各种选择器来获取元素,例如:
// 获取第一个class为post的div元素
Element div = doc.selectFirst("div.post");
// 获取第二个class为text的p元素
Element p = doc.select("p.text").get(1);
另外,如果页面中包含表单数据,可以使用Jsoup来填充和提交表单,示例代码如下:
Document doc = Jsoup.connect("http://www.example.com/login.php")
.data("username", "myusername", "password", "mypassword")
.method(Connection.Method.POST)
.execute()
.parse();
以上示例是向一个名为login.php的页面提交了用户名和密码,然后解析了返回的html页面。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Java代码中解析html,获取其中的值方法 - Python技术站