Google 电子表格 xpath 抓取
Google Spreadsheet xpath scraping
所以我不是专业程序员,但我正在尝试从路透社主页上抓取数据并将其导入 google 电子表格。
我知道已经有关于从路透社抓取的问题得到解答,但是,这对我没有帮助。
我想要此页面的数据:http://www.reuters.com/finance/stocks/financialHighlights?symbol=9983.T
具体来说,如果您向下滚动,就会看到大量关于公司财务的数据,这些数据都打包到表格中。我需要表格中的特定值。
所以我自然要问你的问题是,如何从表中获取特定值?例如,我想要标记为 "Net Profit Margin (TTM)" 的行中的第一个值。该值应为 7.30。
所以我通过使用 google chrome 开发人员工具获得了 xpath,右键单击该元素并 select "copy xpath"。由于我不是程序员,所以我不知道从表中获取特定元素的任何其他方法。
我在 google 电子表格中尝试了以下功能:
=IMPORTXML(URL as written above,"//*[@id='content']/div[2]/div/div[2]/div[1]/div[13]/div[2]/table/tbody/tr[14]/td[2]")
但是 returns
"#N/A - Error, imported content is empty"
我该怎么做才能得到这个值?
众所周知,Google 表格的 IMPORTXML()
功能存在令人难以置信的错误,如果人们发现其中的真正错误也就不足为奇了。尽管如此,我们仍不确切知道为什么您的原始 XPath 表达式不起作用。
I want the first value out of the line that's labelled "Net Profit Margin (TTM)". The value should be 7.30.
您从开发人员工具中获得的路径表达式在很大程度上依赖于定位,而不是完全依赖于实际值。
如果可以依赖本行第一个单元格的文本内容,使用
=IMPORTXML("http://www.reuters.com/finance/stocks/financialHighlights?symbol=9983.T","//tr[contains(td[1],'Net Profit Margin (TTM)')]/td[2]")
这意味着
Select all tr
elements where the text content of the first td
child element contains "Net Profit MArgin (TTM)" and select the second td
of that tr
.
结果将是
7.3
所以我不是专业程序员,但我正在尝试从路透社主页上抓取数据并将其导入 google 电子表格。 我知道已经有关于从路透社抓取的问题得到解答,但是,这对我没有帮助。
我想要此页面的数据:http://www.reuters.com/finance/stocks/financialHighlights?symbol=9983.T
具体来说,如果您向下滚动,就会看到大量关于公司财务的数据,这些数据都打包到表格中。我需要表格中的特定值。
所以我自然要问你的问题是,如何从表中获取特定值?例如,我想要标记为 "Net Profit Margin (TTM)" 的行中的第一个值。该值应为 7.30。
所以我通过使用 google chrome 开发人员工具获得了 xpath,右键单击该元素并 select "copy xpath"。由于我不是程序员,所以我不知道从表中获取特定元素的任何其他方法。
我在 google 电子表格中尝试了以下功能:
=IMPORTXML(URL as written above,"//*[@id='content']/div[2]/div/div[2]/div[1]/div[13]/div[2]/table/tbody/tr[14]/td[2]")
但是 returns
"#N/A - Error, imported content is empty"
我该怎么做才能得到这个值?
众所周知,Google 表格的 IMPORTXML()
功能存在令人难以置信的错误,如果人们发现其中的真正错误也就不足为奇了。尽管如此,我们仍不确切知道为什么您的原始 XPath 表达式不起作用。
I want the first value out of the line that's labelled "Net Profit Margin (TTM)". The value should be 7.30.
您从开发人员工具中获得的路径表达式在很大程度上依赖于定位,而不是完全依赖于实际值。 如果可以依赖本行第一个单元格的文本内容,使用
=IMPORTXML("http://www.reuters.com/finance/stocks/financialHighlights?symbol=9983.T","//tr[contains(td[1],'Net Profit Margin (TTM)')]/td[2]")
这意味着
Select all
tr
elements where the text content of the firsttd
child element contains "Net Profit MArgin (TTM)" and select the secondtd
of thattr
.
结果将是
7.3