Java 如何从没有ID或类的标记中获取文本
我想使用JSOUP从此片段中提取“电影”文本: 正如您所注意到的,除了第一个span之外,第二个span标记也没有ID或class。我的问题是如何检索该文本 多谢各位Java 如何从没有ID或类的标记中获取文本,java,jsoup,Java,Jsoup,我想使用JSOUP从此片段中提取“电影”文本: 正如您所注意到的,除了第一个span之外,第二个span标记也没有ID或class。我的问题是如何检索该文本 多谢各位 <span> </span><span><span class="contentTitle"> Program Type:</span> <s
<span>
</span><span><span class="contentTitle">
Program Type:</span>
<span style="font-size: 14px;">
Movie</span>
<br />
</span><span id="MainContent_trProgramCategories"><span class="contentTitle">
Categories:</span>
<span style="font-size: 14px;">Horror, Thriller
</span>
程序类型:
电影
类别:
恐怖片
您需要通过使用select(…)
方法不断缩减数据。例如,简单地做:
Elements myEles = doc.select("div[id=MainContent_UpdatePanel2] td");
String text = myEles.text();
System.out.println(text);
将获得您可能感兴趣的大部分内容。您需要通过使用
select(…)
方法不断缩减数据。例如,简单地做:
Elements myEles = doc.select("div[id=MainContent_UpdatePanel2] td");
String text = myEles.text();
System.out.println(text);
将为您提供您可能感兴趣的大部分内容。试试这个
Element element = doc.select("#MainContent_trProgramCategories .contentTitle").get(0).nextElementSibling();
试试这个
Element element = doc.select("#MainContent_trProgramCategories .contentTitle").get(0).nextElementSibling();
你可以使用“装满鳗鱼的气垫船”的建议
但对于未来的用例,
获取元素的CSS路径或XPath的最简单方法是使用Firebug扩展
您可以单击“bug外观图像”旁边的“鼠标指针外观图标”,选择要从浏览器中检索值的元素,然后下一行的XPath/CSS文本框将为您提供可以使用的路径
只需复制该文本并将其粘贴到代码中即可
doc.select("HERE PASTE THE XPATH/CSS PATH THAT YOU COPIED FROM FIREBUG").text();
如果您使用的是chrome
你可以
doc.select("HERE PASTE THE XPATH/CSS PATH THAT YOU COPIED FROM FIREBUG").text();
如果您使用的是chrome
你可以
请始终将HTML片段作为文本而不是图像发布。我不是100%了解JSOUP,但我通常使用XPath查询。我很确定JSoup有自己的查询语言,但基本上您希望使用元素的“路径”作为唯一性的一部分。但它仍可能返回多个结果…即“找到属于…/table/tbody/tr/td/span的子元素span元素”,并且move包含在一个类为“contentTitle”的元素中。它嵌套在另一个元素中,但如果正确使用,此信息将对您有所帮助。@HoverCraftfullOfels:我认为在截图时它会更清晰。@Andronienn但我们无法测试它:请始终将HTML片段作为文本而不是图像发布。我不是100%了解JSOUP,但我通常使用XPath查询。我很确定JSoup有自己的查询语言,但基本上您希望使用元素的“路径”作为唯一性的一部分。但它仍可能返回多个结果…即“找到属于…/table/tbody/tr/td/span的子元素span元素”,并且move包含在一个类为“contentTitle”的元素中。它嵌套在另一个元素中,但如果正确使用,此信息将对您有所帮助。@HoverCraftFullOfels:我认为在截图时它会更清晰。@Andronienn但我们无法测试它:p谢谢您的回答,但FireBug给了我一个JSOUP无法“理解”的Xpath。在我的例子中,我有这个
/html/body/form/center/table[2]/tbody/tr[2]/tbody/tr[2]/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/td/span[4]/span[2]
我对您的方法非常感兴趣。根据您可以使用CSS查询来获得您需要的元素。复制css查询而不是XPath,看看它是如何运行的谢谢你的回答,但是FireBug给了我一个JSOUP无法“理解”的XPath。在我的例子中,我有这个/html/body/form/center/table[2]/tbody/tr[2]/tbody/tr[2]/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/td/span[4]/span[2]
我对您的方法非常感兴趣。根据您可以使用CSS查询来获得您需要的元素。复制css查询,而不是XPath,然后查看它在MainContent\trProgramCategories
中的运行情况,但在我的例子中,我希望从没有任何标识符的范围中检索“电影”。请阅读我的问题。谢谢。这终于奏效了:document.select(“span.contentTitle”).get(0.nextElementSibling().text()适用于MainContent\u trProgramCategories
,但在我的例子中,我希望从没有任何标识符的范围中检索“电影”。请阅读我的问题。谢谢。这终于奏效了:document.select(“span.contentTitle”).get(0.nextElementSibling().text()代码>