実現したいこと
楽天・ヤフーの低評価レビューを取得しGoogleスプレッドシートに記載していくGoogle Apps Scriptがあります。
ヤフーのみ、”undefined のメソッド「tostring」を呼び出せません。”とエラーが出てしまい、
Googleスプレッドシートに転記されません。
数か月前までは問題なく動いていたのですがここ1か月ほどでエラーが出るようになりました。
初心者なので、コードをいじることはありませんでした。
楽天との記載を比較して確認してみたのですが、
原因が分からず、何か考えられえる要因がありましたらご教示いただけますと幸いです。
エラーメッセージ
ソースコード
69行目あたりに問題あるとのことだったので前後のコードを添付させていただきます。
69行目に当たるのは、get_name = post_name[i] 部分になります。
for (rating = 1;rating <3;rating++){ var url = encodeURI('https://shopping.yahoo.co.jp/store_rating/' + shop + '/store/review/?filter_rating=' + rating + '&filter_comment=1') var response = UrlFetchApp.fetch(url); var html = response.getContentText('UTF-8'); var reg = /<div class="commentList" id="revlst">[\s\S]*?<div class="mdBasicPagination" id="pg">/g; var review_list = html.match(reg); //投稿日 reg = /さん[\s\S]*?class="created">.*?\s/g; var post_date = review_list[0].match(reg); //投稿者 reg = /<p class="raterName" data-rater-name>.*?</a>/g; var post_name = review_list[0].match(reg); //本文 reg = /さん[\s\S]*?class="created">[\s\S]*?<p class="content">[\s\S]*?</p>/g; var post_cnt = review_list[0].match(reg); //URL reg = /<a href="/user_review[\s\S]*?"/g; var post_url = review_list[0].match(reg); for(i = 0; i < post_date.length; i++){ get_date = post_date[i] .toString() .replace('','') .replace(/さん[\s\S]*?class="created">/,''); get_name = post_name[i] .toString() .replace(/<p class="raterName" data-rater-name>[\s\S]*?;">/,'') .replace('</a>',''); get_cnt = post_cnt[i] .toString() .replace(/さん[\s\S]*?class="created">[\s\S]*?<p class="content">/,'') .replace('</p>',''); get_url = post_url[i] .toString() .replace('<a href="','https://shopping.yahoo.co.jp') .replace('"','');
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/15 02:20
2021/07/15 04:34