编辑 - 我已经改变了 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] 删除。
我来说两句