GASでAmazonの価格を抽出してスプレッドシートに書き込みたい
解決したいこと
GASでAmazonの価格を抽出してスプレッドシートに書き込みたいです。
調べたところParserというライブラリを使うといいということが分かり、コードを書いてみたのですが
謎の数字を引っ張ってきていて、ちんぷんかんぷんです。
※Amazonがスクレイピング(機械的な連続アクセス?)禁止ということは理解しています。
そのうえでの質問であることをご理解くださいませ。
発生している問題・エラー
function myFunction(){
let response = UrlFetchApp.fetch('https://www.amazon.co.jp/%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3%E3%82%AB%E3%83%BC%E3%83%89%E3%82%B2%E3%83%BC%E3%83%A0-%E3%82%BD%E3%83%BC%E3%83%89%EF%BC%86%E3%82%B7%E3%83%BC%E3%83%AB%E3%83%89-%E5%BC%B7%E5%8C%96%E6%8B%A1%E5%BC%B5%E3%83%91%E3%83%83%E3%82%AF-%E7%99%BD%E7%86%B1%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%AB%E3%83%8A-BOX/dp/B0B1HWM5LW/ref=sr_1_2?creative=6339&keywords=%E7%99%BD%E7%86%B1%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%AB%E3%83%8A&linkCode=ure&qid=1660408198&sr=8-2');
let fromText = '<span class="a-price-whole">';
let toText = '</span>';
let price = Parser
.data(response.getContentText())
.from(fromText)
.to(toText)
.iterate();
let sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A1").setValue(price)
}
このコードを実行することで、カートBOXの価格を取得したいのですが、なぜか「758」という数字が抽出されます。
この質問投稿時ですと、8200が抽出されてほしいです。
自分で試したこと
ソースコード内を「758」で検索すると、全然関係なさそうな文字列がいくつか引っかかるのでそれもまた分かりません。
よろしくお願いいたします。
0