如何在使用XPath提取的HTML文本()中包含空字符串?

时间:2017-02-22 20:01:07

标签: parsing xpath scrapy

我有一个由两列表组成的页面。

header  |  value
----------------
field1  |   1
field2  |
field3  |   1
field4  |
field5  |   1

当我选择值时,我需要获得与字段相同的数字。我得到了正确的号码:

>s = scrapy.Selector(response)
>values = s.xpath('//tr/td[@class="tdMainBottom"][2]').extract()  # get the second column
>len(values)
5

可是:

>s = scrapy.Selector(response)
>values = s.xpath('//tr/td[@class="tdMainBottom"][2]/text()').extract()  # get the values
>len(values)
3

之后我可以清理第一个列表,但是在XPath / Scrapy中是否有一个一步到位的方法?

1 个答案:

答案 0 :(得分:0)

这可行,但有点难看:

values = [v.xpath('text()').extract()
          for v in s.xpath('//tr/td[@class="tdMainBottom"][2]')]
相关问题