我读过一篇文章,解释了如何在 Google 表格中使用 importXML() 函数访问网页、从中抓取数据并将结果放入单元格中。例如,如果我在单元格 A1 中放置一个网站 URL,在单元格 A2 中放置以下公式:
=importxml(A1,"//meta[@name='description']/@content")
然后A2将在A1中指定的网页上显示元描述标签的内容。
我想使用类似的方法,但在单元格 A1 中放置一个 Google 查询。
我将以下公式(我在英国期刊的一篇文章中找到)复制到单元格 A1 中:
=ArrayFormula(regexreplace(regexextract(importxml("https://www.google.co.uk/search?q=trade+balance&pws=0&gl=UK&num=50","//h3[@class='r']/a/@href"), "http.*&sa\b"), "&sa", ""))
它填充了 50 行数据。
然后我将 num 参数更改为“num=20”,响应为“Could not fetch URL ...”
然后我在另一个单元格中输入了相同的公式,将 URL 替换为“ https://www.google.com ”,将 gl 参数替换为“gl=US”,响应再次为“Could not fetch URL ...”
所以看起来英国的谷歌可能会让你定期这样做,而美国的谷歌则不允许。
任何人都可以提出替代方案吗?您是否需要密钥才能获得权限?
顺便说一句 - 我在一个论坛上读到,您可以使用 Google 的自定义搜索 API 和 UrlFetch() 来收集搜索结果并填充 Google 表格。但在尝试之前,我想我首先询问使用 importXML 的可能性。
谢谢你。