Xpath 我该如何做网页抓取,以获得我的产品,我有一个谷歌电子表格的价格?动态查询

Xpath 我该如何做网页抓取,以获得我的产品,我有一个谷歌电子表格的价格?动态查询,xpath,web-scraping,google-sheets,google-sheets-formula,google-sheets-importxml,Xpath,Web Scraping,Google Sheets,Google Sheets Formula,Google Sheets Importxml,你能告诉我怎么才能得到这个吗不幸的是,这是不可能的,因为这个网站是由JavaScript控制的,Google Sheets无法理解/导入JS。您可以简单地通过禁用给定链接的JS来测试这一点,您将看到一个空白页面: 许多网站竭尽全力积极防止刮擦。给你想要的数据完全破坏了他们的商业模式。如果你是消费者,他们就没有机会向你展示广告。如果你是一个经销商,你可以使用相当简单的编程和营销来降低他们的价格 如果你发现自己无法刮,那可能是因为这是不可能的。一个解决办法。您可以使用以下脚本导入数据(归功于Brad

你能告诉我怎么才能得到这个吗不幸的是,这是不可能的,因为这个网站是由JavaScript控制的,Google Sheets无法理解/导入JS。您可以简单地通过禁用给定链接的JS来测试这一点,您将看到一个空白页面:


许多网站竭尽全力积极防止刮擦。给你想要的数据完全破坏了他们的商业模式。如果你是消费者,他们就没有机会向你展示广告。如果你是一个经销商,你可以使用相当简单的编程和营销来降低他们的价格


如果你发现自己无法刮,那可能是因为这是不可能的。

一个解决办法。您可以使用以下脚本导入数据(归功于Brad Jasper):,然后使用
QUERY
formula进行请求。这是“iPhone8”和“PlayStation4”的一个例子

在A列中,编写要搜索的产品。获取JSON数据的url自动构建在列B中,并带有concat运算符

="https://wss2.cex.uk.webuy.io/v3/boxes?q="&A2
在C列中,有
QUERY
公式和
ImportJSON
数据步骤

=QUERY(ImportJSON(B2);"SELECT Col4,Col20 WHERE Col4 CONTAINS 'Plus' AND Col4 CONTAINS '64' AND Col4 CONTAINS 'Unlocked' LIMIT 1 label Col4'',Col20''";1)

Col4
:产品说明,
Col20
:产品价格。由于JSON将返回大量结果(多个iPhone8版本),因此这是您可以优化搜索的步骤。我在产品描述中搜索了“Plus”、“64”和“Unlocked”。

url是什么?你可以尝试不同的网站。或者ms excel和vba脚本,我听说这是我使用过的工作表(返回售价,这是JSON的第20列):