Использование xpath для получения нескольких выборочных значений из одного класса DIV - PullRequest
0 голосов
/ 12 марта 2020

Я очищаю веб-сайт с Python, используя Xpath и wi sh, чтобы вернуть несколько элементов в пределах

div class 

Я сузил информацию, о которой идет речь, используя

//*[@class='category-product js-productitem']

И этот выбор находится на Pastebin: https://pastebin.com/0A6LQ9DC

Я хотел бы иметь возможность извлечь несколько бит информации из этого одного выбора. Например, «data-productid», «data-price», «data-specialprice» и т. Д. c

Я хотел бы понять, как express Xpath эквивалентен SQL

SELECT data-productid, data-price, data-specialprice FROM category-product js-productitem

При изучении Xpath абсолютные / относительные пути меня несколько смутили. Я предполагаю, что если я буду ссылаться на уникальную комбинацию тегов / имен таким образом (а не на относительные пути), я могу быть уверен, что получу только ожидаемую информацию, проверив это с помощью Google Chromes 'inspect' функция.

1 Ответ

0 голосов
/ 12 марта 2020

Используйте "root path" и символ @ атрибута, чтобы получить (get ()) то, что вам нужно. Со скребком:

response.xpath('//*[@class='category-product js-productitem']/@data-productid').get()
response.xpath('//*[@class='category-product js-productitem']/@data-price').get()
response.xpath('//*[@class='category-product js-productitem']/@data-specialprice').get()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...