导入特定于站点的数据
Import site-specific data
页面数据传递如下:
https://int.soccerway.com/international/europe/uefa-champions-league/20192020/group-stage/r54142/
1 - 每个时间表下方是比赛的 link。
2 - 我想一次导入所有数据。
3 - 我寻求的结果如下:
4 - 单独导入,我可以,但是因为它们是单独的公式,需要很长时间,我想要一种一次全部导入的方法,只有在可能的情况下才能使用公式.
5 - Xpath 是:
"//*[@class='date no-repetition']"
"//*[@class='score-time status']/a"
"//*[@class='score-time status']/a/@href"
6 - 一个重要的细节,我指出 'score-time status'
因为有些游戏显示为 'score-time score'
但无法导入。
7 - 还有另一个复杂的细节,时间在 :
符号之间带有空格,所以对他来说我使用 =SUBSTITUTE(," ","")
有什么方法可以做到这一点吗?
我试过使用 ={;;}
导入数据,但无法调用超过两个 =IMPORTXML()
.
我也尝试了 =IMPORTHML()
但它无法从每场低于时间的比赛中获取 links,并且日期也只出现在其中一场比赛中......
这个答案怎么样?我认为您的情况有几个答案。所以请将此视为几个可能的答案之一。
xpath:
很遗憾,我找不到直接检索您问题中的 3 个值的 xpath。所以在这个答案中,使用了以下xpath。
- 日期:
//td[@class='date no-repetition']/span
- 时间:
//td[@class='score-time status']/a/span
- URL:
//td[@class='score-time status']/a/@href
示例公式:
=ARRAYFORMULA({IMPORTXML(A1,"//td[@class='date no-repetition']/span"),IMPORTXML(A1,"//td[@class='score-time status']/a/span"),"https://"&IMPORTXML(A1,"//td[@class='score-time status']/a/@href")})
- 在此公式中,
https://int.soccerway.com/international/europe/uefa-champions-league/20192020/group-stage/r54142/
的 URL 被放入单元格 "A1"。
- 检索到的 3 个值被放入列 "A"、"B" 和 "C"。
结果:
注:
- 在上述情况下,我认为时区可能是 IMPORTXML 检索值时的位置。
如果您想将时区更改为您自己的电子表格,下面的示例公式如何?
=ARRAYFORMULA({IMPORTXML(A1,"//td[@class='date no-repetition']/span/@data-value")/86400+DATE(1970,1,1),IMPORTXML(A1,"//td[@class='date no-repetition']/span/@data-value")/86400+DATE(1970,1,1),"https://"&IMPORTXML(A1,"//td[@class='score-time status']/a/@href")})
- 在这种情况下,请将格式设置为 "A" 和 "B" 列。
- 在上面的公式中,日期和时间是检索 unix 时间。此值将转换为序列号。因此转换后的值可以用作电子表格中的日期和时间。
参考文献:
如果这不是您想要的方向,我深表歉意。
页面数据传递如下:
https://int.soccerway.com/international/europe/uefa-champions-league/20192020/group-stage/r54142/
1 - 每个时间表下方是比赛的 link。
2 - 我想一次导入所有数据。
3 - 我寻求的结果如下:
4 - 单独导入,我可以,但是因为它们是单独的公式,需要很长时间,我想要一种一次全部导入的方法,只有在可能的情况下才能使用公式.
5 - Xpath 是:
"//*[@class='date no-repetition']"
"//*[@class='score-time status']/a"
"//*[@class='score-time status']/a/@href"
6 - 一个重要的细节,我指出 'score-time status'
因为有些游戏显示为 'score-time score'
但无法导入。
7 - 还有另一个复杂的细节,时间在 :
符号之间带有空格,所以对他来说我使用 =SUBSTITUTE(," ","")
有什么方法可以做到这一点吗?
我试过使用 ={;;}
导入数据,但无法调用超过两个 =IMPORTXML()
.
我也尝试了 =IMPORTHML()
但它无法从每场低于时间的比赛中获取 links,并且日期也只出现在其中一场比赛中......
这个答案怎么样?我认为您的情况有几个答案。所以请将此视为几个可能的答案之一。
xpath:
很遗憾,我找不到直接检索您问题中的 3 个值的 xpath。所以在这个答案中,使用了以下xpath。
- 日期:
//td[@class='date no-repetition']/span
- 时间:
//td[@class='score-time status']/a/span
- URL:
//td[@class='score-time status']/a/@href
示例公式:
=ARRAYFORMULA({IMPORTXML(A1,"//td[@class='date no-repetition']/span"),IMPORTXML(A1,"//td[@class='score-time status']/a/span"),"https://"&IMPORTXML(A1,"//td[@class='score-time status']/a/@href")})
- 在此公式中,
https://int.soccerway.com/international/europe/uefa-champions-league/20192020/group-stage/r54142/
的 URL 被放入单元格 "A1"。 - 检索到的 3 个值被放入列 "A"、"B" 和 "C"。
结果:
注:
- 在上述情况下,我认为时区可能是 IMPORTXML 检索值时的位置。
如果您想将时区更改为您自己的电子表格,下面的示例公式如何?
=ARRAYFORMULA({IMPORTXML(A1,"//td[@class='date no-repetition']/span/@data-value")/86400+DATE(1970,1,1),IMPORTXML(A1,"//td[@class='date no-repetition']/span/@data-value")/86400+DATE(1970,1,1),"https://"&IMPORTXML(A1,"//td[@class='score-time status']/a/@href")})
- 在这种情况下,请将格式设置为 "A" 和 "B" 列。
- 在上面的公式中,日期和时间是检索 unix 时间。此值将转换为序列号。因此转换后的值可以用作电子表格中的日期和时间。
参考文献:
如果这不是您想要的方向,我深表歉意。