【发布时间】:2022-08-20 04:52:23
【问题描述】:
我有一个 Google 电子表格,其中包含有关工作表中特定单元格的以下信息:
-
细胞B1: 有网址
http://www.google.com.co/search?q=NASA+watching+now%3A+site%3Awww.youtube.com -
细胞B2: 有以下公式:
=IMPORTXML(B1,\"//title\")
这是link of the Google spreadsheet - 如果你想从你身边测试。
这是Google Spreadsheet I\'m working on - 我想获取具体数据:
- 标题:文本(在里面
h3结果项的 HTML 标记)。 - 网址:链接(在里面
<a>结果项的 HTML 标记) - 说明:结果项缩略图旁边的文本。
查看包含要使用的数据的屏幕截图
IMPORTXML:前面的代码返回
title给定 URL - 在这种情况下,存储在B1细胞。它工作没有问题(自 2022 年 12 月 2 日 - 日/月/年) 直到今天 (13/02/2022 - 日/月/年)。
我检查了 Chrome 控制台“F12 开发者工具”,我得到了这个错误:
此文档需要 \'TrustedScript\' 分配。
注入内容窗口@ VM364:27
通过单击@VM364:27 行,将显示以下代码:
function injectIntoContentWindow(contentWindow) { if (contentWindow && !injectedFramesHas(contentWindow)) { injectedFramesAdd(contentWindow); try { contentWindow[eventName] = checkRequest; contentWindow.eval( /* ERROR with and (X) is shown here. */ \"(\" + injectedToString() + \")(\'\" + eventName + \"\', true);\" ); delete contentWindow[eventName]; } catch (e) {} } }在互联网上搜索,我几乎无法得到这个错误的原因:
- Google Chrome 更新 - 使安全更加严格。
- Chrome 扩展 - 尝试禁用此类扩展并重试。
- CPS (内容安全策略) - 必须诚实 = 我不明白这一点;它是从网站上抓取数据还是从 Google 表格中获取 CPS 是根本原因?
- 该解决方案这个问题在 Python 中 - 使用 DOMPurify - 就像described in this answer 一样,但是,我不知道,也没有在谷歌电子表格中找到关于这个问题及其解决方案的任何线索。
我试过了:
- 恢复以前工作的 Google 电子表格版本 - 结果是公式重新计算并且没有返回结果;查看控制台,
This document requires \'TrustedScriptURL\' assignment消息显示。 - Disable Google Chrome installed extensions - 我只有 AdBlock (这段代码工作没有问题),无论如何,我关闭,重新加载电子表格,上面提到的错误在控制台中出现。
- 使用另一个页面 - 我尝试使用 Wikipedia 和 Wiki.fandom 并且它有效 - 即返回数据。可能在这种情况下,谷歌在他们的搜索器中注入了一个避免注入的脚本? - 我真的不确定,这里只是猜测/漫谈。
我考虑的另一个可能原因是我的 IP 被列入黑名单或被阻止,但我不确定。
我的浏览器信息:
- Chrome 版本:98.0.4758.82(官方构建)(64 位)(队列:稳定)
- Windows 10 版本 21H2(内部版本 19044.1466)
有什么办法可以解决 Google 表格中的这个错误吗?
PS:我有兴趣知道使用谷歌表格和/或自定义脚本的解决方法 - 通过脚本编辑器/应用脚本.
IMPORTXML函数的使用不是强制性的——我很好奇它正在工作,然后今天,不再是了。
-
你只想要第一个标题还是全部?
-
@player0 页面的标题,但是,最后想要的结果是: (1) 获取 \"h3\" 标签中的文本 = 这些是搜索结果中每个元素的标题。 (2) 获取 \"a\" 标记中的 URL,(3) \"optional\" 获取结果项旁边的文本。
-
@player0 这里是 google sheet I\'ve created,它可以工作 - 即检索搜索结果的标题和 URL。请让我知道您打开此文件时看到的内容。
标签: google-sheets content-security-policy