从 Google Sheet 中的单元格中提取 link 详细信息
Extract link details from cell in Google Sheet
我想知道是否可以在将鼠标悬停在单元格上时从单元格中提取 link 详细信息?
例如Kim Kardashian账号的instagram粉丝如下:
我认为您无法直接通过弹出窗口轻松地从 link 的 social media preview 获取值。
在社交媒体预览中看到的内容嵌入在相关网页 HTML 中的 meta tags 下方,可以通过解析相关 HTTP 响应来删除内容。
解决方案 1
您可以使用 Google Sheet 的 IMPORTXML()
和合适的 XPath,这有助于指向您想要的数据。以下将用作单元格值。
=IMPORTXML([Relevant cell id; Example: A1],"/html/head/meta[14]/@content]")
但是,这确实会产生错误:"Could not fetch url"
,在我这边,尽管使用了您提供的有效示例 URL。
解决方案 2
您可以使用以下代码和适当的约束来利用 Google sheet bounded Google Apps Script:
function fetchContent(url) {
const htmlResponse = UrlFetchApp.fetch(url).getContentText();
return Parser.data(htmlResponse).from("<meta content=\"").to("\"").build(); }
相关单元格值为:
=fetchContent([Relevant cell id])
然而,当使用示例URL时,此解决方案也会导致错误:"Exception: Request failed for https://www.instagram.com... returned code 429 .."
,暗示从相关IP地址向Instagram发出的HTTP请求过多。请参阅 this SO Q&A regarding IP addresses associated with App script's UrlFetchApp()
and this SO Q&A 关于 Instagram 阻止 IP 地址的信息。
理论上,上述解决方案应该适用于其他不屏蔽 IP 地址的网站。
通过 Google Apps 脚本获取内容的特定部分应该很简单,但是对于 Google Sheets 内你可以查看这个 和相关的一个。
如果您需要专门从 Instagram 获取数据,可以查看 Instagram's Graph API。
我想知道是否可以在将鼠标悬停在单元格上时从单元格中提取 link 详细信息?
例如Kim Kardashian账号的instagram粉丝如下:
我认为您无法直接通过弹出窗口轻松地从 link 的 social media preview 获取值。
在社交媒体预览中看到的内容嵌入在相关网页 HTML 中的 meta tags 下方,可以通过解析相关 HTTP 响应来删除内容。
解决方案 1
您可以使用 Google Sheet 的 IMPORTXML()
和合适的 XPath,这有助于指向您想要的数据。以下将用作单元格值。
=IMPORTXML([Relevant cell id; Example: A1],"/html/head/meta[14]/@content]")
但是,这确实会产生错误:"Could not fetch url"
,在我这边,尽管使用了您提供的有效示例 URL。
解决方案 2
您可以使用以下代码和适当的约束来利用 Google sheet bounded Google Apps Script:
function fetchContent(url) {
const htmlResponse = UrlFetchApp.fetch(url).getContentText();
return Parser.data(htmlResponse).from("<meta content=\"").to("\"").build(); }
相关单元格值为:
=fetchContent([Relevant cell id])
然而,当使用示例URL时,此解决方案也会导致错误:"Exception: Request failed for https://www.instagram.com... returned code 429 .."
,暗示从相关IP地址向Instagram发出的HTTP请求过多。请参阅 this SO Q&A regarding IP addresses associated with App script's UrlFetchApp()
and this SO Q&A 关于 Instagram 阻止 IP 地址的信息。
理论上,上述解决方案应该适用于其他不屏蔽 IP 地址的网站。
通过 Google Apps 脚本获取内容的特定部分应该很简单,但是对于 Google Sheets 内你可以查看这个
如果您需要专门从 Instagram 获取数据,可以查看 Instagram's Graph API。