Как захватить количество div / таблиц одновременно - PullRequest
1 голос
/ 05 сентября 2011

Я использую Scrapy со следующим URL:

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

Мне нужно захватить в том же предмете scrap следующее:

/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 голосов
/ 05 сентября 2011

Используйте стандартный оператор объединения XPath '|' :

  (td/div[2]/table/tr[2]/td[2]/div[4]
| 
   div[5])
          //text()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...