今回行うこと
前回まではログに出力していた情報を
スプレッドシートに書き込みたいと思います。
前回の記事はこちら
↓ ゴールイメージ
スクレイピング後にスプシへ書き込むコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
function Gas_WebScraping04() { /*********************** * スプレッドシートの指定 空白削除前 ***********************/ // 現在開いているスプレッドシートを読み込む let active_sheet01 = SpreadsheetApp.getActiveSpreadsheet(); active_sheet01 = active_sheet01.getActiveSheet(); // タウンワークのURLを指定 let get_url = "https://townwork.net/hokkaidou/ct_ma10100/jc_005/?ds=04"; // getContentTest()のデフォルト指定は(utf-8)になるので省略 let get_html = UrlFetchApp.fetch(get_url).getContentText(); let ArrayFull = [] let Array01 = [] let Array02 = [] // 社名と業務名の取得 ArrayFull = Parser.data(get_html).from('job-lst-main-contents').to('</p>').iterate(); // 社名と業務名の取得から、社名だけ切り分け用 Array01 = Parser.data(get_html).from('job-lst-main-ttl-txt').to('</h3>').iterate(); // 社名と業務名の取得から、業務名だけ切り分け用 Array02 = Parser.data(get_html).from('job-lst-main-txt-lnk').to('</p>').iterate(); /********************************************* * 社名と業務名の取得が正しく取得出来ているか確認する *********************************************/ for(let x = 0; x < ArrayFull.length; x++){ console.log("ArrayFull[" + x + "] = " + ArrayFull[x]); } /********************************************* * 社名だけ切り分けを行う *********************************************/ for(let x = 0; x < Array01.length; x++){ active_sheet01.getRange(x+1,1).setValue(Array01[x]); } /********************************************* * 業務名だけ切り分けを行う *********************************************/ for(let x = 0; x < Array02.length; x++){ active_sheet01.getRange(x+1,2).setValue(Array02[x]); } } |
「getRange(x+1,1)」では1行目スタートのA列固定。
としています。
配列に格納されている分、A列に書き込みが行われます。
結果として
A列には社名。
B列には業務名。
が書き込まれます。
書き込まれてはいますが、余計な文字列と空白が邪魔ですね。
次回はTrim関数を使用して綺麗なデータにしたいと思います。
今回は以上となります。
最後までお読みいただきありがとうございました!