错误 - 无法获取网址:https://www.google.com/search?num = 20&q = searchquery“

问题描述 投票:1回答:2

背景

我正在使用Google表格检查Google搜索中是否出现一系列字符串:

=IMPORTXML(CONCATENATE("https://www.google.com/search?num=20&q=",CHAR(34), A1, CHAR(34)), CONCATENATE("count(//span[contains(., '",A1,"')])")),"THINKING")

返回计数后,下一个单元格将执行相同的过程,依此类推。

问题

但是,经过不同数量的查询后,下一个单元格显示:

错误 - 无法获取网址:https://www.google.com/search?num=20&q=“searchquery”

试图解决方案

我已经尝试找到这个的原因,但不能到目前为止。有几点需要指出:

  • 这曾经在大约1.5个月前完美地工作 - 不知道从那时起谷歌方面发生了什么变化
  • 有时这会发生在第一个查询上,表明问题可能与请求的频率无关。
  • 此外,这个相同的任务在一个月前工作正常,层层叠加了数百个请求。我已尝试在旧Google表格上运行此功能,但这仅限于50个XML请求。

有任何想法吗?

xml xpath web-scraping google-sheets google-sheets-importxml
2个回答
2
投票

在你的XPath表达式的末尾有一个字符串“THINKING” - 我认为它不应该存在。

=IMPORTXML(CONCATENATE("https://www.google.com/search?num=20&q=",CHAR(34), "Adidas", CHAR(34)), CONCATENATE("count(//span[contains(., '", "Adidas" ,"')])"))

也许你打算在调用IMPORTXML()之外添加字符串“THINKING”?

但真正令人好奇的是,上面的公式会回归

5

而它的简化版本(取消连接):

=IMPORTXML("https://www.google.com/search?num=20&q='Adidas'", "count(//span[contains(., 'Adidas')])")

产量

6

-1
投票

我现在使用googlesheet我遇到了同样的问题,允许网站上的flash解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.