xpath 获取 IMPORTXML 公式中 2 个标签之间的文本

乔亚伯拉罕

编辑 - 我已经改变了 xpaths。赔率 xpath 和结果 xpath 正是我想要的。但是 Race url 和 Race num 并不对应这个数据。

我找到了一个 xpath,它返回我需要的信息,但它返回所有数据,我只需要澳大利亚和新西兰之间的数据。

我有 3 个需要改进的 xpath。

示例网址:https : //www.punters.com.au/form-guide/2020-02-06/

Race URL XPATH - //*[@class='component-wrapper form-guide-index']/table 1 /tbody/tr//td/a/@href

比赛结果 XPATH - //div[@class='upcoming-race__event-infocoming-race__event-info--has-results']/div[2]/div[2]/div[2]/div/span

Race No XPATH - //*[@class='component-wrapper form-guide-index']/table 1 /tbody/tr//td/div/div/span

赔率 XPATH - //*[@class='component-wrapper form-guide-index']/table/tbody/tr//td/div/div[2]/div[2]/div[4]

问题是我让所有 4 个 xpath 都返回不同长度的数据。我希望它们都返回相同长度的数据。如果没有数据,则返回空白。

有人可以帮忙吗。下图显示所需的数据。

网站数据

韦斯特

对于澳大利亚(使其适应新西兰),4 个相同长度的 XPath:

网址(41 个元素):

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]/a/@href

结果(41 个元素):

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]/a/text()

种族(30+11 = 41 个元素):

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]//span[@class="upcoming-race__race-num"]/text()|//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]/a[.="ABD"]/text()

赔率(30+11 = 41 个元素):

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]//div[@class="result-value-1"]/following-sibling::div[3]/text()|//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]/a[.="ABD"]/text()

对于比赛和赔率,一旦您在工作表中获得数据,只需将“ABD”替换为空白。使用您将获得的 URL 列创建一个新列“城市”(将文本保留在第二个“/”之后和“_”之前)。

编辑:如果您不想要“ABD”数据,请使用这些(网址、结果、比赛、赔率)。每个元素 30 个。

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]/a[not(.="ABD")]/@href

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]/a[not(.="ABD")]/text()

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]//span[@class="upcoming-race__race-num"]/text()

//tr[@class="upcoming-race__row"][preceding::tr[@class='upcoming-race__row upcoming-race__row--country'][1][*/.="Australia"]]/td[position()>=2]//div[@class="result-value-1"]/following-sibling::div[3]/text()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Selenium XPATH我如何从表第2列中的表第4列中获取文本

在td标签中获取div的xpath

Xpath获取介于2个元素之间的元素,我们不能使用id或文本来标识第二个标签

Google Spreadsheet使用importxml获取文本

IMPORTXML内的XPATH在查询中带有撇号

Google表格中的importxml xpath

Google表格和XPath中的IMPORTXML

如何在Span标签之间获取文本XPATH Python

Google表格中的ImportXML XPath URL

Google表格importxml中XPath中的多个索引

IMPORTXML公式的2个文本之间的Xpath

在python中的2 div标签之间获取文本

如何使用importxml和xPath加载此“标签”

Googlesheets功能-Yahoo Finance中IMPORTXML Xpath对列文本的困难

试图获取两个h2标签之间的所有p标签文本

Xpath在链接文本中获取文本

importXML中的Xpath命令

xPath:如何从表中获取“标题”文本?

Eclipse:在2个给定标签之间获取文本

如何使用XPath在两个节点之间获取文本

在Python的Xpath中的标签之间选择文本

Google电子表格中的Xpath或Importxml

使用 XPath 1 在 2 个 XPath 节点之间获取文本。通用解决方案,不是特定情况

importXML 中的 xpath: //comment() vs //*/comment()

在 python 3.6 中 - 使用 xpath 获取文本

在 Python 中获取 2 个圆括号之间的文本

使用 XPath Google 表格 importxml 函数从字典中获取单词的含义

无法在 div 中使用 importxml 和 xpath 导入文本

Xpath 获取 p 内两个 a 标签之间的所有文本