Scrapy链选择器与不同的父母

时间:2018-01-23 18:03:43

标签: css python-3.x xpath scrapy

我想将两个具有不同父母的选择器链接在一起。我目前正在使用的选择器:

..css('td:nth-child(8) > span.cap.mtv > ::text')

哪个收益率:

<Selector xpath="descendant-or-self::td[count(preceding-sibling::*) = 7]/span[@class and contains(concat(' ', normalize-space(@class), ' '), ' cap ') and (@class and contains(concat(' ', normalize-space(@class), ' '), ' mtv '))]/*/text()" data='$725,000'>

我遇到的问题是我还想要以下内容:

..xpath('td[8]/div/text()')

哪个收益率:

<Selector xpath='td[8]/div/text()' data='UFA'>

最终我想使用项目加载器和提取来获取:

$725,000 UFA ...

我希望实现与以下类似的东西..

...xpath('td[8]').css('span.cap.mtv > ::text').xpath('/div/text()')

如果程序先前没有找到任何东西,但我更倾向于使用这种“或/或”灵活性,我之前只是用一组选择器重新擦除了一个元素。或者我会更好地一起看另一个选择器吗?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

如果您正在使用项目加载器,则可以为单个字段添加多个选择器,如 scrapy docs所示。

在创建加载器后,这样的东西应该可以工作:

group_id: A
medicore_id: B0019V1
date_of_visit_sample_drawn_date: 2009-09-14
rin: 8.5
donor_id: 19
sle_visit_designation: Baseline
bold_shipment_batch: 1
rna_concentrated: No
subject_type: Patient

您的输入/输出处理器将负责这些信息的组合方式。