我正在使用以下网址的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
答案 0 :(得分:0)
使用标准XPath联合运算符'|':
(td/div[2]/table/tr[2]/td[2]/div[4]
|
div[5])
//text()