这是我的HTML来源
<li>
<a href="/info/some1>Item 1<br>
<span class="deets">111</span>
</a>
</li>
<li>
<a href="/info/some2>Item 2<br>
<span class="deets">222</span>
</a>
</li>
<li>
<a href="/info/some3>Item 3<br>
<span class="deets">333</span>
</a>
</li>
这是我获取内容的Java程序,它过滤HTML标记
try {
myurl = new URL("http://www.somewebsite.com");
HttpURLConnection con= (HttpURLConnection) myurl.openConnection();
InputStream result = con.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(result));
StringBuilder sb = new StringBuilder();
for(String line; (line = reader.readLine()) != null;)
//append all content & separate using line separator
sb.append(line).append(System.getProperty("line.separator"));
String final_result = sb.toString().replaceAll("\\<.*?\\>", "");
TextView tv=(TextView) findViewById(R.id.textView1);
tv.setText(final_result);
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
tv.setText("not working");
}
是否有使用Jsoup而不是使用Java而不是Regex解析HTML内容的简便方法
有没有办法只获取所需的内容。所以在这里我只需要内容“项目2-222”
<li>
<a href="/info/some2>Item 2<br>
<span class="deets">222</span>
</a>
</li>
尝试使用jsoup轻松解析:
// To parse the html page
Document doc = Jsoup.connect("http://www.website.com").get();
Document doc1 = Jsoup.parse("<html><head><title>First parse</title></head>" + "<body> <p>Parsed HTML into a doc.</p></body></html>");
String content = doc.body().text();
// To get specific elements such as links
Element links = doc.select("a[href]");
for(Element e: links){
System.out.println("link: " + e.attr("abs:href"));
}
要了解更多信息,请访问Jsoup Docs
我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?
主要内容:Jsoup 使用DOM解析HTML 语法,Jsoup 使用DOM解析HTML 说明,Jsoup 使用DOM解析HTML 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后如何使用类似 DOM 的方法。 Jsoup 使用DOM解析HTML 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html
问题内容: 我正在尝试使用jsoup解析HTML。这是我第一次使用jsoup,并且我也阅读了有关它的一些教程。以下是我要解析的HTML表- 如果您看到我的下表,则它现在有3个(我只是为了理解目的将其缩短为3个表行,但总的来说会更多)。现在,我想从我的下表中提取出它的对应信息,例如-我将提取其群集状态及其状态为关闭的所有主机名。 正如你可以看到下面的群集名称,我有两个主机名和其地位,但地位。 因此,
我试图从这些div标签中获取文本,但是它们都不返回任何内容: HTML: 我想得到div类“消息”和h4标记和跨越“日期时间”中的文本,我试图: 和: 但是他们没有成功。
正如您在下面看到的集群名称,我有两个主机名和,其中状态为,但状态为。 因此,我将打印作为集群名,并打印作为主机名,因为它已关闭。使用JSOUP可以做到这一点吗? 到目前为止,我能够使用jsoup提取整个HTML表,但不确定如何提取集群名和主机名- 更新:- 表中可能有两个集群名称,如下所示- 现在,如果您看到上面,我有两个集群名称--一个是,另一个是,所以我想找到所有仅为集群名称关闭的计算机。
我知道在解析HTML表方面有很多问题。然而,在做了一些研究并研究了Jsoup之后,我有点被它难倒了。 我有时间表 我想解析以取出标记的文本,但要保持某种格式。 我更愿意将数据分割成可管理的块。也许我可以做一个? 但是,这意味着没有演讲时间。除非不需要计算空格和计算时间,假设每个空格是15分钟。