
如何用 scrapy xpath 获取指定标签下的完整 html 内容?
给定以下 html 片段:
<div class="contson">
这是文本
<p>aaaa</p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/xiazai/code/10503" title="NetShop网店系统"><img
src="https://img.php.cn/upload/webcode/000/000/004/176243220273825.jpg" alt="NetShop网店系统" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/xiazai/code/10503" title="NetShop网店系统">NetShop网店系统</a>
<p>NetShop软件特点介绍: 1、使用ASP.Net(c#)2.0、多层结构开发 2、前台设计不采用任何.NET内置控件读取数据,完全标签化模板处理,加快读取速度3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录5、后台内置强大的功能,整合多家网店系统的功能,加以优化。6、支持三种类型的数据库:Acces</p>
</div>
<a href="/xiazai/code/10503" title="NetShop网店系统" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div><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 内容。










