Как перебрать элементы select с Xpath за одним исключением? - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу перебрать каждый найденный селектор, который содержит определенный класс c, чтобы извлечь все элементы в элементах div. Это работает, пока не достигнет одного предмета, содержащего идентификатор.

for selector in response.xpath("//div[@class='product-list-entry']"):

Моя лучшая попытка обойти это следующий код:

for selector in response.xpath("//div[not(@id) and @class='product-list-entry']"):

Обе версии приводят к получению только 5 наборов результатов вместо полного списка.

Как я могу просто проигнорировать один с идентификатором и повторить все остальные?

1 Ответ

0 голосов
/ 15 апреля 2020

Это должно извлечь содержимое указанных c div (примеры: текст div, содержимое span и текст элемента ap):

def parse(self, response):
for selector in response.xpath("//div[@id='product-list']"):
content = selector.xpath(".//div[not(@id)]/text()").extract()
content2= selector.xpath(".//div[not(@id)]/span").extract()
content3= selector.xpath(".//div[not(@id)]/p/text()").extract()
content4= ...
print (content,content2,content3,...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...