如何利用xpath获取节点中html文本?
代码:
abstract =sel.xpath('//div[@id="abstractBox"]/p/text()').extract()
我想获取
<p>
和
</p>
之间的html文本。
但是里面含有html符号,类似
Fe<sub>3</sub>
,按照以上代码,只能获取
Fe
,得不到
<sub>3</sub>
。
如何解决?
谢谢!!
尼古拉.特斯拉
9 years, 5 months ago
Answers
没猜错的话
用的Scrapy?
sel.xpath() 得到的依旧是一个SelectorList
参看原文档
xpath(query)
Find nodes matching the xpath query and return the result as a SelectorList instance with all elements flattened. List elements implement Selector interface too.
query is a string containing the XPATH query to apply.
那么实际上就是去看Selector 相关的函数了。
————————————————
<p>
AA
<sub>1</sub>
<sub>2</sub>
<sub>3</sub>
</p>
<p>
BB
<sub>1</sub>
<sub>2</sub>
<sub>3</sub>
</p>
对于上述例子,其实可以考虑获取到p之后,对其内容再进行一次查找,即可获得 1 、2 、3的内容。
另外
提问的话把自己的环境、代码描述全一点会对自己更有帮助
kenro
answered 9 years, 5 months ago