如何解决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 举报,一经查实,本站将立刻删除。