Прошу прощения за вопрос новичка, но это сводит меня с ума:
Представьте, что у меня есть этот селектор для группы элементов диапазона:
ori=response.xpath("//div[@class='comparison-
row']//div[contains(@class,'modern-
translation')]//span[contains(@class,'line-mapping')]")
Мне нужно извлечь 2 свойства, а именно идентификатор данных и текст из каждого диапазона
Я делаю:
for r in ori:
id_n=r.xpath("@data-id").extract()
text_n=r.xpath("/text()").extract()
if len(id_n)!=0 and len(text_n)!=0:
ids.append(id_n)
text.append(text_n)
Но следующее возвращает ошибку:
text_n=r.xpath("/text()").extract()
Я пытался:
for r in ori:
n=r.extract()
print(n)
У меня такой вывод:
Я останусь дома и буду молиться о Божьем благословении на вашу попытку. Уезжайте завтра и будьте уверены: все, чем я могу вам помочь, вы получите.
Мне нужно извлечь каждый текст






Вам нужно сделать выражение xpath относительно текущего элемента:
text_n = r.xpath("./text()").extract()
Кроме того, if len(id_n)!=0 and len(text_n)!=0: лучше записывается как if id_n and text_n:.