如何使用Google Apps Script抓取网站特定关键词并输出到Google Sheets
代码无法运行的修改点
- 权限授权:首次运行脚本必须授予脚本「访问Google Sheets」「发起外部网络请求」两类权限,遇到未验证提示时点击「高级」-「继续访问」即可完成授权。
- 网络请求配置补全:原代码大概率缺少合法请求头导致被目标网站拦截,需给
UrlFetchApp.fetch方法添加合法User-Agent和异常捕获参数,参考配置如下:
const fetchOptions = { method: "GET", headers: { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" }, muteHttpExceptions: true }; const pageContent = UrlFetchApp.fetch("你的目标网站URL", fetchOptions).getContentText();
- 元素匹配规则修改:原代码的DOM选择器适配的是示例网站结构,你需要根据自身目标网站的HTML结构修改
querySelector、正则等匹配规则,才能正确提取需要的内容。 - 表格参数替换:将代码中硬编码的Google Sheets ID、工作表名称替换为你自己的表格对应参数。
搜索网站关键词并返回Google Sheets的简便方法
不需要写完整脚本,直接使用Google Sheets内置函数即可完成需求:
- 单页搜索提取语法:
=IMPORTXML("目标网页URL", "//*[contains(text(),'要搜索的关键词')]/parent::*") - 动态引用写法:如果A1单元格存储目标网页URL,B1单元格存储搜索关键词,C1输入
=IMPORTXML(A1, "//*[contains(text(),'"&B1&"')]/parent::node()")即可返回关键词所在段落的完整内容 - 批量搜索:将公式下拉填充即可批量处理多个页面/多个关键词的搜索需求
- 注意:如果目标网站禁止爬虫访问,
IMPORTXML会返回错误,此时再使用上述自定义脚本方案即可。
内容的提问来源于stack exchange,提问作者user16834223
相关产品推荐
相关产品推荐

