Google Sheets

在电子表格中使用搜索:一个公式即可列出网页源代码中包含某段代码的网站,一个菜单即可将整个查询导出到新工作表。可免费复制,使用您的 API 令牌运行。

=PUBLICWWW(A1)                    websites whose page source contains the query in A1
=PUBLICWWW(A1, 50, "url,rank")    50 rows, only the url and rank columns
=PUBLICWWW_COUNT(A1)              how many websites match

设置方法

  1. 打开一个电子表格,然后依次点击扩展程序 > Apps 脚本(Extensions > Apps Script)。
  2. 用代码仓库中的 Code.gs 替换 Code.gs 的内容并保存。
  3. 重新加载电子表格,会出现 PublicWWW 菜单;选择 Set API token,粘贴您在个人中心获取的令牌。使用 API 需要付费套餐。
  4. Google 会请求一次脚本授权:该脚本只读写当前电子表格,并连接 api.publicwww.com。

令牌保存在脚本属性中,因此任何能编辑该电子表格脚本的人都能读取它。请据此谨慎分配编辑权限,或者为该电子表格单独生成一个令牌,以便随时在个人中心删除。

编写查询

查询与搜索框中的写法相同,参见查询语法。引号很重要:带引号的 "angular.min.js" 表示这一确切字符串,不带引号则是几个独立的词。在公式中,引号需要写两遍,即 =PUBLICWWW("""angular.min.js"""),因此更简便的做法是把查询(连同引号)输入某个单元格,再引用它:=PUBLICWWW(A1)。

函数

公式在输入或参数变化时执行搜索,结果会缓存六小时,因此重新打开表格不会再次消耗搜索次数。每个新公式消耗套餐每日配额中的一次搜索。

导出整个查询

PublicWWW > Export a query to a new sheet 会将该查询在您套餐范围内的所有行写入一个新工作表,并在其第一个单元格的备注中给出总数。导出量非常大时,可能会触及 Google 每次脚本运行最长六分钟的限制;对于数十万行的列表,请直接调用 API,format=csv 可以用任何电子表格软件打开。

单元格显示 #ERROR! 时

将鼠标悬停在单元格上即可查看原因。

原因处理方法
No API token yetPublicWWW > Set API token。
invalid_key令牌已被删除,请设置新令牌。
plan_required使用 API 需要付费套餐。
too_many_requests每分钟请求超过 10 次,请等待提示的秒数。
quota_exceeded当日搜索次数已用完,将在 UTC 午夜重置。

全部错误码:错误。

下一篇 Clay