问题描述
我对网络剪贴非常陌生,直到今天才尝试在电子表格中找出公式后才被介绍。
我想将部门信息检索到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']")