如何使用Jsoup定位特定网址后面的特定文本字段?

时间:2016-08-12 21:40:09

标签: java html css jsoup

目前我正在尝试使用Java中的Jsoup库来抓取静态html页面。我找到了一种方法来获得我想要的东西,但我不知道该选择器应该选择什么。之前,我使用的是CSS,但我想要的文本位置对于每个html页面都不一样。

因此我考虑使用这种逻辑,即在特定URL之后出现的文本,因为页面的布局方式是:

-Topic as a link-

Text field containing information related to Topic.

HTML看起来像这样

<A NAME="Topic"></A> <A HREF="#TOPIC LiNK"><H2> TITLE OF TOPIC </H2></A>

<PRE><B leftmargin=150 marginwidth=100\>Content that I want to scrape</B></PRE>

我想在“我要抓的内容”中抓取所有内容。

1 个答案:

答案 0 :(得分:2)

根据您的示例,您似乎尝试从<PRE>之后直接放置<A>的文本。在这种情况下,您可以使用siblingA + siblingB,它会尝试在sibling B之前立即找到sibling A (您可以在{{3}找到有关选择器和示例的更多信息}和official tutorial)。

所以在你的情况下doc.select("a+pre").text()就足够了。

您可以添加更多详细信息,例如a[href=#TOPIC LiNK]等href属性的特定网址,或<A href=...>也需要<A name=..>之前的条件

doc.select("a[name] + a + pre")