Выскабливание пустых полей - PullRequest
0 голосов
/ 13 марта 2019

Мне нужно извлечь все значения, включая пустые поля из таблицы, но проблема в том, что метод извлечения пропускает пустые поля.Как я могу собрать эти пустые поля или заменить их чем-то другим?

Вот мое выражение для оболочки Scrapy:

row = response.xpath('//*[@class="apexir_WORKSHEET_DATA"]//tr//td//text()').extract()  

1 Ответ

0 голосов
/ 13 марта 2019

Ваш селектор xpath здесь выбирает text() значения:

'//*[@class="apexir_WORKSHEET_DATA"]//tr//td//text()'

Что вы хотите сделать, это выбрать td значения и перебрать их:

items = []
rows = response.xpath('//*[@class="apexir_WORKSHEET_DATA"]//tr//td')
for row in rows:
    text = ''.join(row.xpath('.//text()').extract())
    items.append(text)

Теперь даже еслинет текста, ваш код добавит пустую строку в ваш список товаров.Делать это с одним только xpath, к сожалению, невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...