如何一次捕获多个div /表

时间:2011-09-05 15:02:45

标签: xpath scrapy

我正在使用以下网址的Scrapy:

http://www.marzetti.com/products/marzetti/detail.php?bc=35&cid=2&pid=1101&i=pl

我需要捕获相同的scrapy项目,如下:

/html/body/div/div[2]/table/tbody/tr[3]/td[4]/table/tbody/tr/td/div[2]/table/tbody/tr[2]/td[2]  /div[4]
/html/body/div/div[2]/table/tbody/tr[3]/td[4]/table/tbody/tr/td/div[2]/table/tbody/tr[2]/td[2]/div[4]`

所以这是我的代码片段:

hxs = HtmlXPathSelector(response)
    sites = hxs.select('/html/body/div/div[2]/table/tr[3]/td[4]/table/tr')
    items = []
    for site in sites:
        ..............
        item['description'] = site.select('td/div[2]/table/tr[2]/td[2]/div[4] or div[5]//text()').extract()

然而,这会返回一个布尔答案,例如'description = True',而我需要的是两个div中的实际文本。

欢迎任何建议。谢谢。 -TM

1 个答案:

答案 0 :(得分:0)

使用标准XPath联合运算符'|'

  (td/div[2]/table/tr[2]/td[2]/div[4]
| 
   div[5])
          //text()