Получите основную информацию на этой странице с использованием фреймворка Scrapy, но вопрос не относится к этому фреймворку. Возьмем, к примеру, элемент p
внутри узла h1
.
Все выборки, которые я делаю с ответом, который я получаю от своих запросов Scrapy, не возвращают то, что находится внутри узла h1
.
scrapy shell 'url'
response
>>> 200
response.xpath('//h1/p')
>>> []
Fetching the response:
При получении ответа я вижу структуру, которую я не могу понять, со всей основной html-разметкой, сжатой и размещенной сразу после набора компонентов в стиле javascript. файл находится здесь (ligne 1725).
После отключения Javascript из инструментов разработчика и тестирования моего селектора я получаю желаемый результат. Например, я получаю элемент <p>
внутри <h1>
с помощью простого запроса //h1/p
из консоли.
Не работает, см. Проблема
testing the selector with splash:Я получаю точно такой же результат, как показано в проблеме.
Я не могу объяснить ошибку, но я надеюсь дать ответ на вашу проблему
response.xpath('//*[@class = "summary__StyledAddress-e4c4ok-6 zWwUF textIntent-title1"]/text()').get()
возвращает: '12-14 31st Avenue, Unit 2'
Что, надеюсь, вам нужно?
Доктор П.
Я перепробовал множество методов, включая Selenium и Splash, и ни один из них не смог вернуть структурированную HTML-разметку. Работает только ваше решение по уточнению селекторов xpath без ссылки на родительские узлы.