При использовании Scrapy Python невозможно извлечь данные из ответа html с помощью xpath из-за пространства имен - PullRequest
0 голосов
/ 18 марта 2020

Я использую scrapy с xpath для извлечения данных с веб-страницы. Мой html ответ выглядит следующим образом:

enter image description here

Я хочу извлечь ссылку href, присутствующую в выделенном теге "a" .

Обычно я использую response.xpath ('// a [@ id = "jr-alt-sw"] / @ href') для получения данных, но здесь я думаю из-за проблемы с пространством имен результат пустой. Как я могу получить данные, если есть пространство имен.

Любая помощь приветствуется !!

Ответы [ 2 ]

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

Нет атрибута href для выбранного тега a. Проверьте следующий тег a, содержащий атрибут href.

response.xpath('//a[@id="jr-pdf-sw"]/@href')
0 голосов
/ 19 марта 2020

Это правда о пространстве имен? Еще одна причина использовать css вместо:

response.css('a#jr-alt-sw::attr(href)')
...