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
设置方法
- 打开一个电子表格,然后依次点击扩展程序 > Apps 脚本(Extensions > Apps Script)。
-
用代码仓库中的 Code.gs 替换
Code.gs的内容并保存。 - 重新加载电子表格,会出现 PublicWWW 菜单;选择 Set API token,粘贴您在个人中心获取的令牌。使用 API 需要付费套餐。
-
Google 会请求一次脚本授权:该脚本只读写当前电子表格,并连接
api.publicwww.com。
令牌保存在脚本属性中,因此任何能编辑该电子表格脚本的人都能读取它。请据此谨慎分配编辑权限,或者为该电子表格单独生成一个令牌,以便随时在个人中心删除。
编写查询
查询与搜索框中的写法相同,参见查询语法。引号很重要:带引号的 "angular.min.js" 表示这一确切字符串,不带引号则是几个独立的词。在公式中,引号需要写两遍,即 =PUBLICWWW("""angular.min.js"""),因此更简便的做法是把查询(连同引号)输入某个单元格,再引用它:=PUBLICWWW(A1)。
函数
-
PUBLICWWW(query, [rows], [columns], [header]):每行一个网站,最热门的排在最前。rows:默认 10,在公式中最多 1000。columns:domain、url、rank中的任意几个,以逗号分隔,默认三者全选。header:设为TRUE时在第一行显示列名。没有热度排名的网站,rank为空;没有找到结果时返回空单元格。 -
PUBLICWWW_COUNT(query):匹配的网站数量。
公式在输入或参数变化时执行搜索,结果会缓存六小时,因此重新打开表格不会再次消耗搜索次数。每个新公式消耗套餐每日配额中的一次搜索。
导出整个查询
PublicWWW > Export a query to a new sheet 会将该查询在您套餐范围内的所有行写入一个新工作表,并在其第一个单元格的备注中给出总数。导出量非常大时,可能会触及 Google 每次脚本运行最长六分钟的限制;对于数十万行的列表,请直接调用 API,format=csv 可以用任何电子表格软件打开。
单元格显示 #ERROR! 时
将鼠标悬停在单元格上即可查看原因。
| 原因 | 处理方法 |
|---|---|
No API token yet | PublicWWW > Set API token。 |
invalid_key | 令牌已被删除,请设置新令牌。 |
plan_required | 使用 API 需要付费套餐。 |
too_many_requests | 每分钟请求超过 10 次,请等待提示的秒数。 |
quota_exceeded | 当日搜索次数已用完,将在 UTC 午夜重置。 |
全部错误码:错误。
下一篇 Clay