Python 在scrapy中使用xpath从表行检索信息

Python 在scrapy中使用xpath从表行检索信息,python,xpath,scrapy,Python,Xpath,Scrapy,我试图使用scrapy从html表中提取信息并将其存储到数据库中。信息存储到行中,无法区分一条记录和另一条记录。(我正在爬行的站点是) 如果形式为: 记录1:tr[1]和tr[2](跳过tr[3]) 记录2:tr[4]和tr[5](跳过tr[6]) 记录3:tr[7]和tr[8](跳过tr[9]) 那么 我得到的每个循环的节点是: nodes=hxs.xpath(“//table/tr/td/table/tr/td/table/tr/td/table/tr”)使用xpath 1.0构建这些结果是

我试图使用scrapy从html表中提取信息并将其存储到数据库中。信息存储到行中,无法区分一条记录和另一条记录。(我正在爬行的站点是)

如果形式为:

记录1:tr[1]和tr[2](跳过tr[3])
记录2:tr[4]和tr[5](跳过tr[6])
记录3:tr[7]和tr[8](跳过tr[9])
那么

我得到的每个循环的节点是:

nodes=hxs.xpath(“//table/tr/td/table/tr/td/table/tr/td/table/tr”)

使用xpath 1.0构建这些结果是不可能的(这是所有粗略的支持),您必须为此使用Python代码(使用xpath提取信息之后)

如果要省略第三个/第六个/。。。行开始时,使用
position()
和模:

//table/tr/td/table/tr/td/table/tr/td/table/tr[(position()mod 3)!=0]
或者,使用类似metaphy的
@valign
属性:

//table/tr/td/table/tr/td/table/tr/td/table/tr[@valign='top']

'/html/body/table[2]/tbody/tr/td[2]/table[2]/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr[@valign=“top”]@谢谢回复。最后,我使用条件语句废弃了这个表,并使用一个标志将这些项附加到每个循环的末尾。