Python 使用Scrapy获取XPath属性

Python 使用Scrapy获取XPath属性,python,xml,xpath,namespaces,scrapy,Python,Xml,Xpath,Namespaces,Scrapy,我正在用Scrapy解析一个XML文档,并且在使用XPath时遇到了问题 我的XML如下所示: <sdn:screen> <foaf:Image rdf:about="http://search.shinrokuden.irides.tohoku.ac.jp/shinrokuden/archive/screen/07f9d1a0-5ef4-11e2-91ca-000c2923bf22.jpg"/> </sdn:screen> 以及许多其他类似的变体 我知道

我正在用Scrapy解析一个XML文档,并且在使用XPath时遇到了问题

我的XML如下所示:

<sdn:screen>
 <foaf:Image rdf:about="http://search.shinrokuden.irides.tohoku.ac.jp/shinrokuden/archive/screen/07f9d1a0-5ef4-11e2-91ca-000c2923bf22.jpg"/>
</sdn:screen>
以及许多其他类似的变体


我知道,'//record/metadata/RDF/Resource/screen/Image'之前的路径是正确的,因为这会输出数据,但正如我所说的,那些试图访问“RDF:about”部分的路径都会出现
[]
。我真的不认为名称空间是一个问题,因为我删除了名称空间,但我可能又错了

如果仍在查找属性的XPath:

//record/metadata/RDF/Resource/screen/Image/attribute::rdf:about
我还没有测试过它,但类似的东西会拉属性


您可以在

上阅读有关xpath的更多信息,这些名称空间是在哪里声明的?您可能希望摆脱
记录/元数据/RDF/Resource
业务,并尝试尽可能简化问题集,此外,您还可以显示
xxs
的创建,在我看来
。删除\u名称空间()
不会删除元素属性的名称空间<代码>自我。_root.iter(*)()iter仅在元素上,而不在属性上。我用测试,不得不调用
xxs.register\u名称空间(“im”http://itunes.apple.com/rss“
要访问
xxs。选择('//entry//@im:assetType')
@TheCorinne,我在@pault打开了一个问题并提出了一个解决方案。非常感谢你!我知道这是一个超级延迟的反应,但你真的帮了我。谢谢你把它也固定在刮痧上-你太棒了!
//record/metadata/RDF/Resource/screen/Image/attribute::rdf:about