PHP前端开发

如何使用 Scrapy Xpath 获取 div 标签下的完整 HTML 内容?

百变鹏仔 3个月前 (01-16) #Python
文章标签 如何使用

如何用 scrapy xpath 获取指定标签下的完整 html 内容?

给定以下 html 片段:

<div class="contson">    这是文本    <p>aaaa</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>     这是文本2     <br>      这是文本3</div>

我们希望获取 div.contson 中的所有内容,包括 html 标签。

'这是文本<p>aaaa</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>这是文本2<br>这是文本3'

通常方法,如 string(.),只能获取纯文本。然而,node() 函数可以获取指定元素下的所有节点、元素和内容。

使用以下 xpath 表达式:

xx.xpath('//div[@class="contson"]/node()').extract()

然后将列表转换为字符串:

"".join(xx)

即可得到所需的完整 html 内容。