从Div标签获取文本
我有一个带有多个div标签的主Div标签,如下所示。 子Div标签没有与其他子div标签区分的class / id。 现在我想从第二个子Div标签中提取文本值。 我怎样才能做到这一点?
This is a monster
我想得到“黑衣怪物”的文字。 这个Div没有id / name,也不确定这个样式是相同还是变化。 我将如何使用jSoup提取?
package stackoverflow; import java.io.IOException; import java.io.InputStream; import org.apache.commons.io.IOUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class JSoupTest { public static void main(String[] args) throws IOException { InputStream in = JSoupTest.class.getResourceAsStream("JSoupTest.txt"); String html = IOUtils.toString(in); Document doc = Jsoup.parse(html); Elements divs = doc.select("DIV"); System.out.println(divs); Element div = divs.get(2); System.out.println("Monster in Black".equals(div.text())); } }
生产:
This is a monster This is a monster true
您可以使用以下代码实现:
Document doc = Jsoup.parse(new File("test.html"), "utf-8"); Elements select = doc.select("div > div:eq(1)"); System.out.println(select.text());
有关Selector的详细信息,请查看此javadoc
使用jquery
This is a monster HainKurt Just joined to SO!