微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SCRAPY无法在终端中打印所有项目

如何解决SCRAPY无法在终端中打印所有项目

我正在使用SCRAPY Shell的终端中使用此命令,但它不会打印所有项目。

scrapy shell https://access.redhat.com/errata/RHSA-2017:0621

response.xpath('normalize-space((//div[contains(@class,"tab-pane")]/ul)[2]/li/text())').getall()

它仅打印第一项。

解决方法

normalize-space()仅适用于单个节点。如果给它一个节点集,它将返回从第一个节点产生的值。

如果要将其应用于多个节点,则可以执行以下操作(pp只是一种漂亮的打印功能):

>>> products = response.xpath('(//div[contains(@class,"tab-pane")]/ul)[2]/li').xpath('normalize-space()').getall()
>>> pp(products)
[
    'Red Hat Enterprise Linux Server 6 x86_64','Red Hat Enterprise Linux Server 6 i386','Red Hat Enterprise Linux Workstation 6 x86_64','Red Hat Enterprise Linux Workstation 6 i386','Red Hat Enterprise Linux Desktop 6 x86_64','Red Hat Enterprise Linux Desktop 6 i386','Red Hat Enterprise Linux for Power,big endian 6 ppc64','Red Hat Enterprise Linux for Scientific Computing 6 x86_64'
]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。