Включить для выбора элемента с помощью оболочки Scrapy

Я пытаюсь распечатать все названия продуктов этого сайта с помощью оболочки scrapy: 'https://www.woolworths.com.au/shop/browse/drinks/cordials-juices-iced-teas/iced-teas'

Как только он открыт, я начинаю получать:

fetch('https://www.woolworths.com.au/shop/browse/drinks/cordials-juices-iced-teas/iced-teas')

И я пытаюсь распечатать название каждого продукта, в результате ничего не выбрано:

>>> response.css('.shelfProductTile-descriptionLink::text')
output:  []

Также пробовал:

>>> response.css('a')
output:  []

Как я могу сделать ? Спасибо


person alioua walid    schedule 26.02.2020    source источник


Ответы (1)


Ваш код правильный. Что происходит, так это то, что в HTML, полученном с помощью scrapy, нет элемента a. Когда вы посещаете страницу в своем браузере, список продуктов заполняется javascript на стороне браузера. Их нет в HTML-коде.

В документе вы найдете найти методы для предварительного рендеринга javascript. Может быть, вам стоит попробовать это.

person rolf82    schedule 26.02.2020