假设我有类似的东西:
<div class="c1">
BlahBlahBlah Some text that I want to fetch.
<br/>
<div class="c2">something does not important.</div>
<a href="blabla.html">a link text</a>
</div>
我只想获取“BlahBlahBlah 我想要获取的一些文本。”文本。当我使用“div.c1”css 选择器时,它会给出“BlahBlahBlah 一些我想获取的文本。有些并不重要。一个链接文本。”
如何获取我想要的文本? (注意:HTML代码没有错误,请不要修改,肯定是我写的。我要抓取文本的站点不属于我,所以我无法更改代码。)
最佳答案
简单的回答。你不能。 CSS 选择器以节点为目标,而不是某些文本中的特定字母。当您考虑使用伪选择器时,会有一些小异常(exception),但您无法仅使用 CSS 完成您想要的。
我的最佳建议是修改 HTML 并将您想要定位的内容包装在 <span>
中。元素并为其提供一个您可以实际定位的 CSS 类。
编辑:(因为发现你不能修改页面,你正在使用 Jsoup 来获取它。)
由于您正在使用 Jsoup 来获取页面并以您的节点为目标,因此您只需再执行一个步骤即可获取您的文本。基本上,在您选择节点并获取内部文本后,只需在其上运行正则表达式并获取第一个句点之前的所有内容。
您的正则表达式在 Java 中应如下所示:"(.*\\.)"
关于html - 如何使用 CSS 选择器划分 div 元素的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39497390/