首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“everything”的相对XPath选择器

“everything”的相对XPath选择器
EN

Stack Overflow用户
提问于 2017-07-18 22:28:21
回答 1查看 125关注 0票数 0

http://www.apkmirror.com/apk/opera-software-asa/opera-mini/opera-mini-28-0-2254-119213-release/opera-mini-fast-web-browser-28-0-2254-119213-2-android-apk-download/网站上,我尝试使用Item Loaders从同一个XPath选择器中提取多个字段。为了避免代码重复,我想使用nested_xpath方法。

为此,我想要一个相对XPath选择器,它本质上是一个'no-op‘,并返回给您输入选择。我认为应该是.//*,但这似乎不起作用。

如果我从Scrapy shell开始

代码语言:javascript
复制
scrapy shell http://www.apkmirror.com/apk/opera-software-asa/opera-mini/opera-mini-28-0-2254-119213-release/opera-mini-fast-web-browser-28-0-2254-119213-2-android-apk-download/ -s USER_AGENT=Mozilla

然后,下面的XPath表达式会给出我想要的结果:

代码语言:javascript
复制
In [2]: response.xpath('//*[@title="APK details"]/following-sibling::*//text()')
   ...: .extract()
Out[2]: 
['Version: 28.0.2254.119213 (281119213)',
 'arm ',
 'Package: com.opera.mini.native',
 '\n',
 '183 downloads ']

但是,如果我尝试将其与.xpath('.//*')连接起来,结果将变成一个空列表:

代码语言:javascript
复制
In [3]: response.xpath('//*[@title="APK details"]/following-sibling::*//text()')
   ...: .xpath('.//*').extract()
Out[3]: []

在这种情况下,正确的'no-op‘XPath选择器是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-19 01:24:00

Psidompaul trmbrth的评论之后,我最终将text()移到了链式XPath。因此,text()仍然有一些代码重复,但比整个XPath表达式要少。

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

https://stackoverflow.com/questions/45169677

复制
相关文章

相似问题

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