希望将网站特定部分的选择性数据 'country-wise' 导入 Google 电子表格
Looking to import selective data 'country-wise' from specific part of website into Google Spreadsheets
我正在尝试将一些数据从 IATA 的网站导入到 Google Spreadsheet / Excel。我尝试使用 XCOPY 方法,但此页面不断更新,传播 sheet 最终会出现 'N/A' 错误。
我基本上想要一个 spreadsheet 来将特定国家/地区的数据导入我的 sheet 的单元格中。我正在寻找它是特定于国家/地区的。
比如我只想从这个网站导入COSTA-RICA的数据或者CANADA的数据到我的spread中sheet,
以下是点差sheet link 我正在编辑:https://docs.google.com/spreadsheets/d/1anrXXHuVtuP3iCDBsX8GcP7egDBmA75eeG4-wa1ov7E/edit#gid=1624254662
对于整个列表:
=INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1)
加拿大使用:
=QUERY(QUERY(INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), "limit "&
MATCH("CAYMAN ISL.", INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), 0)-
MATCH("CANADA", INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), 0)&" offset "&
MATCH("CANADA", INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), 0)-1, 0), "where Col1 is not null", 0)
哥斯达黎加变化:
CANADA
到 COSTA RICA
CAYMAN ISL.
到 COTE D'IVOIRE
更新:
完整列表:
=ARRAYFORMULA(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0))
部分:
=ARRAYFORMULA(QUERY(
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), "limit "&
MATCH("PALAU",
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)-
MATCH("PAKISTAN",
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)&" offset "&
MATCH("PAKISTAN",
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)-1, 0))
spreadsheet demo
更短的公式:
=ARRAYFORMULA(QUERY(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), "limit "&
MATCH("PALAU", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), 0)-
MATCH("PAKISTAN", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), 0)&" offset "&
MATCH("PAKISTAN", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), 0)-1, 0))
XPath 方法(一种用于国家列表,一种用于每个国家的数据 + 2 种用于特定国家):
https://docs.google.com/spreadsheets/d/1_sKRvmsSxQ9tiU0aDOQc9wVxC2ZhMO8488jcKZVlN94/edit?usp=sharing
最终结果在F栏。
我正在尝试将一些数据从 IATA 的网站导入到 Google Spreadsheet / Excel。我尝试使用 XCOPY 方法,但此页面不断更新,传播 sheet 最终会出现 'N/A' 错误。
我基本上想要一个 spreadsheet 来将特定国家/地区的数据导入我的 sheet 的单元格中。我正在寻找它是特定于国家/地区的。
比如我只想从这个网站导入COSTA-RICA的数据或者CANADA的数据到我的spread中sheet,
以下是点差sheet link 我正在编辑:https://docs.google.com/spreadsheets/d/1anrXXHuVtuP3iCDBsX8GcP7egDBmA75eeG4-wa1ov7E/edit#gid=1624254662
对于整个列表:
=INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1)
加拿大使用:
=QUERY(QUERY(INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), "limit "&
MATCH("CAYMAN ISL.", INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), 0)-
MATCH("CANADA", INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), 0)&" offset "&
MATCH("CANADA", INDEX(TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div/div/div/div/div/div/div/div")),,1), 0)-1, 0), "where Col1 is not null", 0)
哥斯达黎加变化:
CANADA
到COSTA RICA
CAYMAN ISL.
到COTE D'IVOIRE
更新:
完整列表:
=ARRAYFORMULA(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0))
部分:
=ARRAYFORMULA(QUERY(
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), "limit "&
MATCH("PALAU",
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)-
MATCH("PAKISTAN",
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)&" offset "&
MATCH("PAKISTAN",
QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
"//div[@id='contentwrapper']//p[01]|//div[@id='contentwrapper']//p[02]|
//div[@id='contentwrapper']//p[03]|//div[@id='contentwrapper']//p[04]|
//div[@id='contentwrapper']//p[05]|//div[@id='contentwrapper']//p[06]|
//div[@id='contentwrapper']//p[07]|//div[@id='contentwrapper']//p[08]|
//div[@id='contentwrapper']//p[09]|//div[@id='contentwrapper']//p[10]|
//div[@id='contentwrapper']//p[11]|//div[@id='contentwrapper']//p[12]|
//div[@id='contentwrapper']//p[13]|//div[@id='contentwrapper']//p[14]"))
,,9^9)),,9^9), "♦"))), "where Col1 is not null", 0), 0)-1, 0))
spreadsheet demo
更短的公式:
=ARRAYFORMULA(QUERY(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), "limit "&
MATCH("PALAU", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), 0)-
MATCH("PAKISTAN", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), 0)&" offset "&
MATCH("PAKISTAN", QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY("♦"&TRANSPOSE(IMPORTXML(
"https://www.iatatravelcentre.com/international-travel-document-news/1580226297.htm",
JOIN("|", "//div[@id='contentwrapper']//p["&ROW(A1:A15)&"]"))),,9^9)),,9^9), "♦"))),
"where Col1 !=''", 0), 0)-1, 0))
XPath 方法(一种用于国家列表,一种用于每个国家的数据 + 2 种用于特定国家):
https://docs.google.com/spreadsheets/d/1_sKRvmsSxQ9tiU0aDOQc9wVxC2ZhMO8488jcKZVlN94/edit?usp=sharing
最终结果在F栏。