如何在<p>标记之后但在嵌套<a> tag?</a> </p>之前选择文本

时间:2012-05-10 18:05:40

标签: html css-selectors web-scraping

假设我的HTML看起来像这样:

<p> May  4 - <a href="http://auburn.craigslist.org/web/2996976345.html">residual income No experience is needed!!!</a> - <font size="-1"> (online)</font> <span class="p"> img</span></p>

我希望能够做的只是选择文本May 4 - ....即。开场p代码前的文字,以及开幕a后的第一个开始p代码前的文字。

我该怎么做? CSS选择器会是什么样的?

请注意,我不是在撰写此HTML。我正在抓取这个代码的网站。我无法控制HTML输出。我只是使用这种类型的标记,并尝试从中提取合理的数据。

1 个答案:

答案 0 :(得分:2)

CSS选择器无法访问裸文本节点。

然而,这对XPath来说是微不足道的,如果您使用像Nokogiri这样的网络刮刀或像Selenium这样的测试工具,您可以使用它:

//p/text()[following-sibling::a][1]