我试图通过Java中的jsoup解析过去3天的某些信息-_-,这是我的代码:
Document document = Jsoup.connect(urlofpage).get();
Elements links = document.select(".contentBox");
for (Element link : links) {
// String name = link.text();
String title = link.select("h2").text();
String content = link.select("p").text();
System.out.println(title);
System.out.println(content);
}
它是按照指示获取数据,取出h2和p的数据分开,但问题是,我想解析<p>
标记内的数据,这个数据就在每<h2>
之后} tag。
例如(HTML内容):
<h2>main content</h2>
<div class="acx"><div>
<p>content</p>
<p>content 2</p>
<h2>content 2</h2>
<div class="acx"><div>
<p>new content od 2</p>
<p>new 2</p>
现在它应该像(在数组中)一样获取:
array[0] = "content content 2",
array[1] = "new content od 2 new 2",
任何解决方案?
答案 0 :(得分:0)
您可以使用“〜”下一个元素选择器。例如
WS_CHILD
答案 1 :(得分:0)
只需使用您的初始方法迭代所选.contentBox
类中的所有必要标记:
Document document = Jsoup.connect(urlofpage).get();
Elements links = document.select(".contentBox");
for (Element link : links) {
for (Element h2Tag : link.select("h2"))
{
System.out.println(h2Tag.text());
}
for (Element pTag : link.select("p"))
{
System.out.println(pTag.text());
}
}