eBayフォローセラーチェックツールを作ろう!(4)スクリプトの作成
当ラボでは、誰もが無料で使うことができるGoogleスプレッドシートを使って様々なサイトから必要な情報の取得を仕組み化したツールを提供しています。
連載で「IMPORTFEED関数」を活用したフォローセラーチェックツールの作り方を紹介しています。前回は、作業シートの作成を行いました。今回は、ちょっとしたプログラム(スクリプト)を記載してツールを完成させます。
過去の記事はこちら
(復習)完成イメージ
(復習)完成イメージ
フォローセラーのリスト内の各セラーに対してIMPORTFEED関数で至近の販売状況を取得、そこから、フォローしているセラーの直近3日の販売実績の一覧表を作成します。
スクリプト作成の流れ
スクリプト作成の流れは次の通りです。
(1)スクリプトエディタを開く
(2)スクリプトを記入し、保存する
(3)スクリプトを実行する(初回のみ、承認操作が必要)
(4)実行しやすいように実行ボタンを作成する
これらの操作については、こちらに詳細をまとめました。
スクリプトの内容
今回作成するスクリプトの流れは次の通りです。
(1)セラーIDリストからセラーIDを順番にURL作成部に貼り付けて、更新情報を取得。
(2)その後、至近の販売実績を取得を取得
(3)全IDのチェックが終わったら、「出力」シートに結果を貼り付け。
スクリプト
今回作成するスクリプトは次の通り。こちらを、スクリプトエディタに記入します。
function myFunction_r1() { var inpsheet = SpreadsheetApp.getActive().getSheetByName('作業シート'); var outsheet = SpreadsheetApp.getActive().getSheetByName('出力'); //出力シートのクリア outsheet.getRange(2,1,1000,10).clearContent() //セラーリストの貼り付け var outdb=[] //条件に一致するデータを格納する配列 for(var i=2;i<=30;i++){ //i:セラーIDを2行目から順番に処理 var sellerID=inpsheet.getRange(i,1).getValue() Logger.log(sellerID) if(sellerID==""){break} //セラーIDが空欄であれば処理終了 //各セラーIDに対する処理 inpsheet.getRange(1,5).setValue(sellerID) //セラーID貼り付け Utilities.sleep(5000); //表示待ち(20190427追加) for(var j=4;j<=23;j++){ //IMPORTFEEDで取得した各行に対しての処理 if(inpsheet.getRange(j,12).getValue()<=2){ //日付の確認 var tmp=inpsheet.getRange(j,5,1,4).getValues() var imgtmp=inpsheet.getRange(j,13).getValue() var imglink="=image(\"https://i.ebayimg.com/thumbs/images/g/" + imgtmp + "/s-l225.jpg\")" var tlink="=hyperlink(\""+tmp[0][1]+"\",\""+tmp[0][0]+"\")" outdb.push([imglink,tlink,tmp[0][3]]) //一致するものを配列として取得 }else{break} } } //結果をシートに貼り付け var olastrow=outsheet.getLastRow()+1 //最終行取得 outsheet.getRange(2,1,outdb.length,3).setValues(outdb) }
スクリプトの実行
作成したスクリプトを保存して実行します。詳細な手順は、先程と同じく、こちらに記載してあります。
まとめ
今回は、Googleスプレッドシート独自のIMPORTFEED関数とスクリプト機能を使って、フォローセラーチェックツールを作成しました。
このように、Googleスプレッドシートを活用すれば、Web上のデータ収集・活用が比較的容易に行うことができます。今回の例を参考にいろいろ試してみてはいかがでしょうか。