在 Google 个工作表 ImportXML 中提取元数据
Extracting Metadata in Google Sheets ImportXML
是否仍然可以在 Google 表格中使用 ImportXML 从站点提取价格等元数据?
我在以下页面上尝试了多种不同的变体,但均未成功:https://www.officedepot.com/a/products/273646/Office-Depot-White-Copy-Paper-Letter/
=IMPORTXML("https://www.officedepot.com/a/products/273646/Office-Depot-White-Copy-Paper-Letter/","//*[contains(@itemprop,'price')]/@content")
=IMPORTXML("https://www.officedepot.com/a/products/273646/Office-Depot-White-Copy-Paper-Letter/","//meta[@itemprop='price']/@content")
我应该可以使用这个公式得到 return“58.99”,但我不断收到 NA 错误。
OfficeDepot 似乎阻止了来自 GoogleSheets 的请求。
一些线索:
直接从 .json 获取价格(我们不能使用 ImportJSON
脚本直接在表格中加载它,因为请求被阻止)。相应地更改 url 中的产品 ID :
另一种选择是使用 SerpAPI(商业)+ImportJSON 从 GoogleShooping 获取产品价格。
或者您可以使用 GoogleSearch API(免费)+ImportJson
。输出:
您需要 API key and an ImportJSON script (credits to Brad Jasper) to do this. Once you have installed the script and activated your API key, add a search engine。在设置中,您必须定义目标网站。
在某处复制您的搜索引擎 ID (cx=XXXXXXXXXX)。完成此操作并假设 A 列中有 urls,您可以粘贴到单元格 B2 中:
=REGEXEXTRACT(A2;"products\/(\d+)")
这是为了提取产品 ID。
在单元格 C2 中,您可以粘贴:
="https://customsearch.googleapis.com/customsearch/v1?cx={yoursearchengineID}&key={yourAPIkey}&num=1&fields=items(pagemap(offer(price)))&q="&B2
我们构造 API 的请求。您需要在此公式中添加 API 键和搜索引擎 ID。
在单元格 D2 中,您可以粘贴:
=QUERY(ImportJSON(C2);"SELECT Col1 label Col1''";1)
这用于导入 .json 结果并稍作清理。
注意:对于某些产品(新产品),此方法可能会失败。我常驻欧洲。所以 ”;”公式中的应替换为“,”。
是否仍然可以在 Google 表格中使用 ImportXML 从站点提取价格等元数据?
我在以下页面上尝试了多种不同的变体,但均未成功:https://www.officedepot.com/a/products/273646/Office-Depot-White-Copy-Paper-Letter/
=IMPORTXML("https://www.officedepot.com/a/products/273646/Office-Depot-White-Copy-Paper-Letter/","//*[contains(@itemprop,'price')]/@content")
=IMPORTXML("https://www.officedepot.com/a/products/273646/Office-Depot-White-Copy-Paper-Letter/","//meta[@itemprop='price']/@content")
我应该可以使用这个公式得到 return“58.99”,但我不断收到 NA 错误。
OfficeDepot 似乎阻止了来自 GoogleSheets 的请求。 一些线索:
直接从 .json 获取价格(我们不能使用
ImportJSON
脚本直接在表格中加载它,因为请求被阻止)。相应地更改 url 中的产品 ID :另一种选择是使用 SerpAPI(商业)+ImportJSON 从 GoogleShooping 获取产品价格。
或者您可以使用 GoogleSearch API(免费)+
ImportJson
。输出:
您需要 API key and an ImportJSON script (credits to Brad Jasper) to do this. Once you have installed the script and activated your API key, add a search engine。在设置中,您必须定义目标网站。
在某处复制您的搜索引擎 ID (cx=XXXXXXXXXX)。完成此操作并假设 A 列中有 urls,您可以粘贴到单元格 B2 中:
=REGEXEXTRACT(A2;"products\/(\d+)")
这是为了提取产品 ID。
在单元格 C2 中,您可以粘贴:
="https://customsearch.googleapis.com/customsearch/v1?cx={yoursearchengineID}&key={yourAPIkey}&num=1&fields=items(pagemap(offer(price)))&q="&B2
我们构造 API 的请求。您需要在此公式中添加 API 键和搜索引擎 ID。
在单元格 D2 中,您可以粘贴:
=QUERY(ImportJSON(C2);"SELECT Col1 label Col1''";1)
这用于导入 .json 结果并稍作清理。
注意:对于某些产品(新产品),此方法可能会失败。我常驻欧洲。所以 ”;”公式中的应替换为“,”。