我有以下 HTML:
<h1 class="price">
<span class="strike">$325.00</span>$295.00
</h1>
我想拿出 295 美元。但是,如果我简单地使用 PyQuery 如下:
price = pq('h1').text()
我得到了两个价格。
Extracting only direct child text for an element in jQuery看起来相当复杂 - 有没有办法在 PyQuery 中做到这一点?
目前我正在单独提取第一个价格,然后使用替换将其从文本中删除,这有点繁琐。
感谢您的帮助。
最佳答案
我认为没有一种干净的方法可以做到这一点。至少我找到了这个解决方案:
>>> print doc('h1').html(doc('h1')('span').outerHtml())
<h1 class="price"><span class="strike">$325.00</span></h1>
如果不想保留 span 标签,可以使用 .text() 而不是 .outerHtml()。
删除第一个要容易得多:
>>> print doc('h1').remove('span')
<h1 class="price">
$295.00
</h1>
关于python - PyQuery:只获取元素的文本,而不是子元素的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14122262/