我想从Google表格中的亚马逊产品页面获取产品标题。
我已经搜索并尝试了不同的方法并想出了这个
= IMPORTXML( “https://www.amazon.com/dp/B01MSR8J29”, “// * [@ id中= 'productTitle']”)
我想获得标题: 陆军旗帜衬衫:成为兄弟军队TShirt
但我收到错误,导入的内容为空。
答案 0 :(得分:1)
您只需使用//title
xpath和一个简单的regexreplace即可删除标准Amazon.com:
部分:
=REGEXREPLACE(ImportXML("https://www.amazon.com/dp/B01MSR8J29","//title"),"Amazon.com: ","")
如果您还想删除其他面包屑,例如: Clothing
只需对其进行修改即可使用正则表达式为OR
的{{1}}符号,如下所示:
|
答案 1 :(得分:0)
大部分HTML都不是有效的XML,特别是亚马逊的网页不是有效的XML。所以,importXML
失败了。
您可以通过custom function使用Apps脚本,如下所示(删除#34; amazon"之前的空格,以防止SO重写网址):
=producttitle("https://www. amazon.com/dp/B01MSR8J29")
返回"陆军旗帜衬衫:成为Brothers Army TShirt",前提是在脚本编辑器中输入自定义功能如下:
function productTitle(url) {
var content = UrlFetchApp.fetch(url).getContentText();
var match = content.match(/<span id="productTitle".*>([^<]*)<\/span>/);
return match && match [1] ? match[1] : 'Title not found';
}
这里,第一行获取页面的来源;然后正则表达式提取项目标题。
您会找到类似的帖子here,其中包括此活动是否符合亚马逊的服务条款的问题。