Java 从sup标记检索文本

Java 从sup标记检索文本,java,html,jsoup,Java,Html,Jsoup,我必须从给定代码中提取a href值 <table> <tr> <td class="left "> <a href="reference" >Refer</a>see this <sup class="super"><a href=​"#src1" onclick=​"dosomething;​" title=​"1" >​1​</a>​</sup> </td> <td

我必须从给定代码中提取a href值

<table>
<tr>
<td class="left ">
<a href="reference" >Refer</a>see this
<sup class="super"><a href=​"#src1" onclick=​"dosomething;​" title=​"1" >​1​</a>​</sup>
</td>
<td class="td_right2" style="padding-top: .25em"></td>
</tr>
..

</table>
href仅为我提供标记内文本以外的文本

如何获取sup标记中的文本和href标记

编辑:我意识到页面源代码看起来像这样

<tr><td class="left "><a href="reference" ">Reference</a>see this <sup class="super_src"></sup></td><td class="right" style="padding-top: .25em"></td></tr>
firefox中的“inspect元素”显示了它的内部,我需要它的内容。 如果我错了,请纠正我,但我认为Jsoup.connecturl.get;提供源文档,Inspect元素提供当前加载的页面。是否有一种方法可以在页面完全加载后检索页面?

尝试以下方法:

Element mySup= doc.select("sup.super").first();
String linkHref = mySup.child(0).attr("href");
String linkVal = mySup.child(0).text();
说明:

选择带有sup标记和super类的元素 访问其第一个子项(标记),然后访问其href属性

要从a中获取a中的所有href和文本,您应该执行以下操作

Elements links = doc.select("a[href]");
for (Element link : links) {
  String linkHref = link.attr("href");
  String linkText = link.text();
}

jQuery解决方案对您有用吗?在上面的HTML中,代码应该返回什么内容?和之间的整个HTML?更好地解释您想从文档中提取哪些信息我想提取文本和href,在上面的HTML中是'src1'和'1'。如果我的文档中包含标签,代码就可以正常工作。没有。但我的网页有!。如何确保文档仅在网页完全加载后填充?这是您现在要问的另一个问题如何确保文档仅在网页完全加载后填充?所以你最好发布一个新的one@Daniel-谢谢你的密码。但它不起作用!问题是-源页面的“sup”标记中不包含“a”标记。但当我检查元素时,我发现了“a”标记。如何提取此内容?在jsoup中是否有类似于.ready的jquery?您是否确定您的文档是有效的,并且确实获得了您发布的html代码?元素链接=doc.selecta[href];返回了包含元素的列表?请看这里do Document doc=Jsoup.connectyour网站url.get;然后do Elements links=doc.selecta[href];这将为您提供一个获取href attributes文档doc=Jsoup.connecturl.get;不包含标记。但是当我手动保存网页时,它就在里面了。所以你的问题应该是:我如何从这个网站获取数据,只是古玩:试试Document doc=Jsoup.connecthttp://www.yourWebSite.com.userAgentMozilla/5.0 WindowsNT6.1;WOW64 AppleWebKit/535.2 KHTML,如Gecko Chrome/15.0.874.120 Safari/535.2.get
Elements links = doc.select("a[href]");
for (Element link : links) {
  String linkHref = link.attr("href");
  String linkText = link.text();
}