Xpath для scrapy с пространством имен атомов - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь очистить данные из XML-файла с помощью scrapy. Файл имеет следующую структуру:

<feed xml:base="https://example.com/sap/...">
<entry><id>http://example.com/.../idset</id>
<m:properties>
<d:SubID>xyz</d:JobID>
<d:Posting>123456</d:Posting>
<d:Title>BoringTitle</d:Title>
</m:properties>
</entry>
</feed>

В Scrapy я импортирую пространство имен атомов:

xxs = XmlXPathSelector(response)
xxs.register_namespace("atom", "http://www.w3.org/2005/Atom")

И некоторые данные можно извлечь с помощью

xxs.xpath("//atom:entry").extract()

Однако я обнаружил, что невозможно выделить данные двоеточием:

<d:Title>BoringTitle</d:Title>

Каким будет правильный xpath для печати заголовка? Может быть, есть простой ответ, я инженер-механик, делаю это для хобби проекта.

Буду признателен за любую помощь!

С уважением

John

1 Ответ

0 голосов
/ 16 января 2019

Поскольку упоминается в комментариях к вопросу , вам также необходимо добавить пространство имен для d.

Однако в вашем случае может быть лучше просто удалить все пространства имен и работать без них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...