首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Scrapy获取XPath属性

使用Scrapy获取XPath属性
EN

Stack Overflow用户
提问于 2013-10-06 00:08:01
回答 1查看 2.3K关注 0票数 1

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

我的XML如下所示:

代码语言:javascript
运行
复制
<sdn:screen>
 <foaf:Image rdf:about="http://search.shinrokuden.irides.tohoku.ac.jp/shinrokuden/archive/screen/07f9d1a0-5ef4-11e2-91ca-000c2923bf22.jpg"/>
</sdn:screen>

我需要网址跟着rdf:about=。我使用的是scrapy的remove_namespaces()特性,所以我不需要在XPath中使用名称空间。我尝试过以下XPaths,但它们都返回[]

代码语言:javascript
运行
复制
xxs.select('//record/metadata/RDF/Resource/screen/Image/about').extract()

xxs.select('//record/metadata/RDF/Resource/screen/Image/@about').extract()

xxs.select('//record/metadata/RDF/Resource/screen/Image[@about]').extract()

xxs.select('//record/metadata/RDF/Resource/screen[@about]').extract()

xxs.select('//record/metadata/RDF/Resource/screen/@about').extract()

还有其他许多类似的变体。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-04 18:52:24

如果您仍然在寻找属性的XPath:

代码语言:javascript
运行
复制
//record/metadata/RDF/Resource/screen/Image/attribute::rdf:about

我还没有测试过它,但是类似的东西会得到这个属性

您可以在axes.asp上阅读更多关于xpath的内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19204002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档