Xpath не возвращает ТЕКСТ из тегов ‹p› в Scrapy Shell

Ссылка: https://www.softwareadvice.com/hr/zenefits-profile

Я пытаюсь очистить описание из приведенной выше ссылки. XPath кажется правильным, но он не возвращает мне значение в scrapy shell. (Пожалуйста, смотрите скриншот ниже). Я пробовал все методы, такие как get(), getall(), extract(), extract_first(), extractall(), но получаю пустой список. Пожалуйста, помогите мне определить ошибку. Спасибо...

Нажмите, чтобы увидеть изображение (XPath)

Нажмите, чтобы увидеть изображение (Scrapy Shell)


person CodeWithAwais    schedule 09.05.2020    source источник
comment
Ваше выражение XPath верное. Веб-сайт использует JavaScript, поэтому вам нужно загрузить его. Лучший способ сделать это — выполнить pip install scrapy-splash. Используйте всплеск, и выражение будет работать.   -  person dram95    schedule 09.05.2020
comment
@ dram95 не загружается с помощью javascript.   -  person CodeWithAwais    schedule 09.05.2020


Ответы (1)


Если вы отключите JS, вы не обнаружите, что XPATH работает.

Вот как Scrapy загружает HTML, он загружает только HTML и не выполняет никаких JS/AJAX.

Попробуйте этот XPATH

response.xpath("/html/body/app-root/main/app-product/div[1]/app-product-detail/div[2]/div/div[1]/div/div/p//text()").getall()
person Umair Ayub    schedule 09.05.2020
comment
спасибо, это сработало, но он получает только первый тег ‹p›. Как я могу получить все теги ‹p›? - person CodeWithAwais; 09.05.2020