用于跟踪产品是否为:stock/its 价格的 XPath
XPath to track if a product is: in stock/its price
我完全是初学者,对 HTML 和 Java 了解一点,所以我的问题听起来可能很愚蠢。
我基本上是在尝试使用 Google 电子表格来跟踪 item/its 价格 on this website 的可用性。我正在使用“IMPORTXML”功能,可以轻松获取产品名称或其描述。 但是我无法获得价格,因为它需要我先 select 一个尺码,我不知道如何通过“IMPORTXML”功能做到这一点。
现在,这个returns“导入的内容是空的。”:
=IMPORTXML("https://www.artisan-jp.com/fx-hien-eng.html","//p[@id='price']")
通过 Google 脚本创建一个函数可行吗?如果可以,我该怎么做?
谢谢!
您将无法使用 IMPORTXML
获取任何数据,因为 Javascript
用于显示价格。使用IMPORTFROMWEB
addon,您可以激活JS渲染,但您只会获得默认产品的价格。
最好使用 Selenium
+ Python
(或任何其他语言)来实现您的目标。这样您就可以点击并 select 特定产品。(尺寸、颜色、硬度)
如果您真的想使用 Google 解决方案来执行此操作,则必须在 Google Apps 脚本中编写自己的自定义函数(通过 POST
请求具体 url : https://www.artisan-jp.com/get_syouhin.php
)。像 :
function myFunction() {
var formData = {
'kuni': 'on',
'sir': '140',
'size': '1',
'color': '1',
};
var options = {
'method' : 'post',
'payload' : formData
};
Logger.log(UrlFetchApp.fetch('https://www.artisan-jp.com/get_syouhin.php', options).getContentText());
}
在第一部分 (formData
) 中,您声明了 POST 的参数。这些参数对应产品的属性。
Sir :
XSoft = 140
Soft = 141
Mid = 142
Size :
S = 1
M = 2
L = 3
XL = 4
Color :
Red = 1
Black = 5
输出:
您将获得参考编号、产品描述及其价格。
当产品没有库存时,输出中有前面的 NON
。
现在由您从输出中提取感兴趣的数据并填充工作簿的单元格。
假设您的函数名为“mouse”。只需使用 SPLIT
即可正确显示数据。
=SPLIT(mouse();"/")
要仅提取价格,您可以先使用 SPLIT
,然后再使用 QUERY
。 SUBSTITUTE
用于将结果强制转换为数字。
=SUBSTITUTE(QUERY(SPLIT(mouse();"/");"select Col4");".";",")*1
我完全是初学者,对 HTML 和 Java 了解一点,所以我的问题听起来可能很愚蠢。
我基本上是在尝试使用 Google 电子表格来跟踪 item/its 价格 on this website 的可用性。我正在使用“IMPORTXML”功能,可以轻松获取产品名称或其描述。 但是我无法获得价格,因为它需要我先 select 一个尺码,我不知道如何通过“IMPORTXML”功能做到这一点。
现在,这个returns“导入的内容是空的。”:
=IMPORTXML("https://www.artisan-jp.com/fx-hien-eng.html","//p[@id='price']")
通过 Google 脚本创建一个函数可行吗?如果可以,我该怎么做?
谢谢!
您将无法使用 IMPORTXML
获取任何数据,因为 Javascript
用于显示价格。使用IMPORTFROMWEB
addon,您可以激活JS渲染,但您只会获得默认产品的价格。
最好使用 Selenium
+ Python
(或任何其他语言)来实现您的目标。这样您就可以点击并 select 特定产品。(尺寸、颜色、硬度)
如果您真的想使用 Google 解决方案来执行此操作,则必须在 Google Apps 脚本中编写自己的自定义函数(通过 POST
请求具体 url : https://www.artisan-jp.com/get_syouhin.php
)。像 :
function myFunction() {
var formData = {
'kuni': 'on',
'sir': '140',
'size': '1',
'color': '1',
};
var options = {
'method' : 'post',
'payload' : formData
};
Logger.log(UrlFetchApp.fetch('https://www.artisan-jp.com/get_syouhin.php', options).getContentText());
}
在第一部分 (formData
) 中,您声明了 POST 的参数。这些参数对应产品的属性。
Sir :
XSoft = 140
Soft = 141
Mid = 142
Size :
S = 1
M = 2
L = 3
XL = 4
Color :
Red = 1
Black = 5
输出:
您将获得参考编号、产品描述及其价格。
当产品没有库存时,输出中有前面的 NON
。
现在由您从输出中提取感兴趣的数据并填充工作簿的单元格。
假设您的函数名为“mouse”。只需使用 SPLIT
即可正确显示数据。
=SPLIT(mouse();"/")
要仅提取价格,您可以先使用 SPLIT
,然后再使用 QUERY
。 SUBSTITUTE
用于将结果强制转换为数字。
=SUBSTITUTE(QUERY(SPLIT(mouse();"/");"select Col4");".";",")*1