今回行うこと
前回とほぼコードは同じですが、
空白を取り除いた上でスプレッドシートへ書き込みたいと思います。
前回の記事はこちら
↓ 今回のゴール
Trim関数で空白を削除するコード
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 61 62 63 64 65 66 67 |
function Gas_WebScraping05() { /*********************** * スプレッドシートの指定 空白削除後 ***********************/ // 現在開いているスプレッドシートを読み込む 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++){ // 不要な文字列を削除 Array01[x] = Array01[x].replace(/".*>/,"") // 不要な空白を削除 active_sheet01.getRange(x+1,1).setValue(Array01[x].trim()); } /********************************************* * 業務名だけ切り分けを行う *********************************************/ for(let x = 0; x < Array02.length; x++){ // 不要な文字列を削除 Array02[x] = Array02[x].replace(/".*>/,"") // 不要な空白を削除 active_sheet01.getRange(x+1,2).setValue(Array02[x].trim()); } } |
解説
最初に余計な文字列を正規表現にて置換しています。
その後空白となった箇所をTrim関数にて削除する。
という流れです。
1 2 3 4 5 6 7 8 9 10 |
for(let x = 0; x < Array01.length; x++){ // 不要な文字列を削除 Array01[x] = Array01[x].replace(/".*>/,"") // 不要な空白を削除 active_sheet01.getRange(x+1,1).setValue(Array01[x].trim()); } |
GASでのWebスクレイピングはお手軽で書き込みも簡単ですね。
凝ったことを行うのは難しそうですが!
他にも挑戦していきたいと思います。
今回は以上となります。
最後までお読みいただきありがとうございました!