Google SpreadsheetsのimportXMLを使用して、このWebサイトから価格を抽出する必要があります。
製品はこちらです https://en-sa.wadi.com/Apple-iphone-6s-16-gb-4g-rose-gold-with-facetime-61616.html
問題は、AngularJSを使用しているため、一般的な方法が機能しないことです。
これは私が以前使用していたものですが、もう機能していません。
=REGEXEXTRACT(REGEXREPLACE(ImportXML("https://en-sa.wadi.com/sony-xperia-z3-16-gb-4g-lte-black-dual-sim-355.html", "//div[@class='info-module other-sellers']//p"), "{{ctrl.selectedSupplier.suppliers.length-1}}", ""),"[0-9]+")
取得するデータがスクリプト内にある場合、xPath //script
を使用してすべてのスクリプトコンテンツを取得し、結果に参加できます(したがって、ソースで7番目または11番目のスクリプトに依存する必要はありません)。 regexextract
を使用して結果を解析します。現在、次の式は2447を返します。
=regexextract(regexextract(join(" ", IMPORTXML("https://en-sa.wadi.com/Apple-iphone-6s-16-gb-4g-rose-gold-with-facetime-61616.html", "//script")), """offerPrice"":\d+"), "\d+")
ここでは、最初の正規表現"""offerPrice"":\d+"
は"offerPrice":2447
に一致します(引用符は文字列内で2重になります)。 2番目のregexextract
は、番号2447のみを保持します。
上記では、「offerPrice」が必要なものであると想定しています。通常価格を抽出するには、代わりに"""price"":\d+"
を使用します。