使用IMPORTXML将Yahoo Finance中的部门信息收集到Google表格中

问题描述

我对网络剪贴非常陌生,直到今天才尝试在电子表格中找出公式后才被介绍。

我想将部门信息检索到Yahoo Finance上的Google表格中。我还想在单元格B7发生更改时更新数据。链接https://finance.yahoo.com/quote/MIDD/profile?p=MIDD

我提出了以下内容,但出现#N / A错误:= importxml(“ https://finance.yahoo.com/quote/”,B7,“ / profile?p =”,B7,“ // * [@@ class ='Fw(600)[@ data-reactid = '21']“)

请让我知道我可能做错了什么。预先谢谢你。

解决方法

解决方案

这是使用IMPORTXML公式的正确语法:

=IMPORTXML("URL","XPATH_QUERY")

在您的情况下,这将转换为:

=importxml("https://finance.yahoo.com/quote/"&B7&"/profile?p="&B7,"//*[@class='Fw(600)'] [@data-reactid='21']")

哪个将返回空结果。

注意事项

请记住,许多站点都在竭尽全力积极地防止刮擦。允许您完全废弃其数据,会破坏其业务模型。因为他们可以从添加中获利。

在要抓取的页面中签入您要查看的标签是否与您首先要获取的数据相对应。我相信在这种情况下,只需将标签值更改为适当的值即可。

,

您可以在Google表格中抓取Yahoo Finance,但是您需要使用IMPORTFROMWEB而不是IMPORTXML 您可以在此处安装加载项: https://gsuite.google.com/marketplace/app/importfromweb_easy_web_scraping/278587576794

然后只需将IMPORTXML函数替换为IMPORTFROMWEB,就像这样 =IMPORTFROMWEB("https://finance.yahoo.com/quote/"&B7&"/profile?p="&B7,"//*[@class='Fw(600)'] [@data-reactid='21']")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...