【问题标题】:Google Sheet Cell to execute Google searchGoogle Sheet Cell 执行 Google 搜索
【发布时间】:2020-04-15 15:43:58
【问题描述】:

我有一个包含公司列表(A 列)的 Google 表格,我想知道以下两个选项是否可以通过 google 表格中的函数执行:

1) 找到域名并放在B列

2) 运行“site:domain.com [搜索词]”谷歌搜索,如果成功则返回“1”,如果没有结果则返回“0”。

编辑:示例 Google 表格。

有什么想法吗?谢谢!

【问题讨论】:

  • 请提供您的工作表示例图片
  • 在原帖中添加了截图。
  • 看看Url FetchApp

标签: google-apps-script google-sheets


【解决方案1】:

您可以为您的工作表创建一个绑定的应用程序脚本。并创建一个自定义函数,您可以将其用作工作表中的公式。

使用 UrlFetchApp.fetch() 函数,您可以通过向其 URL 发出请求(例如 https://www.google.com)从任何网站获取结果。

请记住,该函数将返回 HTML 代码,您必须对其进行解析以从返回的 HTML 内容中提取所需的字符串。为此,您可以使用更多的正则表达式。

function searchResults(input) {
  var url = "https://duckduckgo.com/?q=what+is+the+website+of+company+"+encodeURIComponent(input);
  var options = {
    'muteHttpExceptions' : true
  };
  var searchResults = UrlFetchApp.fetch(url, options);
  var titleExp = /<h2 class=\"result__title\">([\s\S]*?)<\/h2>/gi;
  var titleResults = searchResults.getContentText().match(titleExp);
  // return the first match
  return titleResults[0];
}


推荐阅读:

【讨论】:

  • 在单元格中解析 HTML 的最佳方法是什么?只是为了获取 URL(即 aa.com)
  • 每个网站都会有不同的 HTML 代码和呈现结果的风格。您通常需要做的是检查网站代码,并注意哪个 HTML 标记是结果标题的来源,以便您可以根据您的确切需求定制正则表达式
  • +Aerials - 我得到了这个工作。如何解码 titleResutls 中的 URL 编码(即 %2F)?
  • @BigMike 很高兴听到这个消息。您可以使用Javascript标准内置函数decodeURIComponent()对其进行解码。
猜你喜欢
  • 1970-01-01
  • 2011-09-25
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多