从网站http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396我试图仅将文本数据(例如,出生,死亡,生物,位置和部分创建)提取到不同的行/列中。我希望能够有一个电子表格,我可以在其中输入FindAGrave URL并让它为我提取上述数据。我在这里阅读Using =importXML in Google Docs,可以通过描述来做到这一点。从那里我学会了省略Xpath tbody。这成功地使我的导入工作,但没有使用说明。我确定使用说明会更有效率。我只是想了解其他人如何从表中导入数据。 感谢
这是我到目前为止所得到的。这将提取出生信息并放入行。一个问题是它在每个数据之间添加了一个额外的单元格。
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//html/body/table/tr/td[3]/table/tr[4]/td[1]/table/tr/td/table/tr/td/table/tr[1]/td[2]")
结果
Dec. 2, 1882 Humphreys County Tennessee, USA
更新:我想我在代码中做了一些过程。这就是我现在正在使用的。
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr'][1]//tr/td/table/tr/td/table/tr[1]/td[1]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[1]/td[2]/text()[1]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[1]/td[2]/text()[2]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[1]/td[2]/text()[3]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[1]/td[2]/text()[4]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr'][1]//tr/td/table/tr/td/table/tr[2]/td[1]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[2]/td[2]/text()[1]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[2]/td[2]/text()[2]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[2]/td[2]/text()[3]")
=IMPORTXML("http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396", "//*[@class='gr']//tr/td/table/tr/td/table/tr[2]/td[2]/text()[4]")
结果:
Birth:
Nov. 8, 1948
Benton
Saline County
Arkansas, USA
Death:
Jan. 6, 2006
Tulsa
Tulsa County
Oklahoma, USA
有没有办法在代码中分割这些数据?
答案 0 :(得分:0)
以下公式
=IMPORTXML(
"http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396",
"//html/body/table/tr/td[3]/table/tr[4]/td[1]/table/tr/td/table/tr/td/table/tr[position()<=2]/td/text()"
)
返回
Birth:
Nov. 8, 1948
Benton
Saline County
Arkansas, USA
Death:
Jan. 6, 2006
Tulsa
Tulsa County
Oklahoma, USA
更短的选择,
=IMPORTXML(
"http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GScid=97961&GRid=22682396",
"//tr[4]/td[1]//tr[position()<=2]/td/text()"
)
返回相同的结果
答案 1 :(得分:0)