我有一个由两列表组成的页面。
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中是否有一个一步到位的方法?
答案 0 :(得分:0)
这可行,但有点难看:
values = [v.xpath('text()').extract()
for v in s.xpath('//tr/td[@class="tdMainBottom"][2]')]