У меня есть этот RSS-канал (образец приведен ниже), и я хочу извлечь URL-адрес из объекта media: thumbnail, но мне это не удалось (мой код приведен ниже). Все примеры, которые я здесь нашел, имели формат, отличный от их xml. Как я могу получить URL-адрес из xml. Заранее спасибо.
XML:
<item>
<title>
<![CDATA[
أردوغان: هناك محاولة لحماية شخص ما في حادث مقتل خاشقجي
]]>
</title>
<description>
<![CDATA[
الرئيس التركي، رجب طيب إردوغان، يقول إن هناك محاولة لحماية شخص أو بعض الأشخاص في حادث مقتل الصحفي السعودي، جمال خاشقجي، وإنه يجب أن يُنهى موضوع مكان الجثة بشكل سريع.
]]>
</description>
<link>http://www.bbc.co.uk/arabic/middleeast-46017209</link>
<guid isPermaLink = "true">http://www.bbc.co.uk/arabic/middleeast-46017209</guid>
<pubDate>Tue, 30 Oct 2018 11:15:25 GMT</pubDate>
<media:thumbnail width = "976" height = "549" url = "http://c.files.bbci.co.uk/1795/production/_104073060_mediaitem104073056.jpg"/>
</item>
мой код:
articles = response.xpath('//channel/item')
for article in articles:
item = ArtscraperItem()
thumb = "thumbnail"
item['pic']=article.xpath('/*[local-name() = "%s"]/@url' %thumb )






Попробуйте
'./*[local-name() = "%s"]/@url'. Обратите внимание, что/*означает соответствует любому корневому узлу, а./*означает сопоставить дочерний элемент текущего узла (article).