Как извлечь элементы с помощью XPath, которые не соответствуют заданному шаблону?

#python #xml #xpath #scrapy

#python #xml #xpath #scrapy

Вопрос:

Я добавляю некоторые изображения с помощью scrapy в список python. Есть некоторые изображения, которые являются заполнителями и идентифицируются по URL. Итак, я хотел бы проверить определенную строку в моей команде xpath и, если она соответствует, пропустить это изображение.

 images = response.xpath('//meta[@property="og:image"]/@content').extract()[0:3]
  

Я хочу исключить все, что соответствует: .*Demo_600x600.*
Как я могу сделать это с помощью xpath?

Ответ №1:

Этот XPath,

 //meta[@property="og:image"][not(contains(@content, "Demo_600x600"))]/@content
  

выберет те @content атрибуты, значения которых не содержат Demo_600x600 подстроки.