スクレイピング
- 3/1 合計、死亡者の欄が追加されたので変更
- 3/3 また表示方法が変更されてtotal項目がなくなった(-_-;)
- 3/4 陽性のみになった
function myFunction() { // スクレイピング var html = UrlFetchApp.fetch('https://www.cdc.gov/coronavirus/2019-ncov/cases-in-us.html').getContentText(); var today = new Date(); // Logger.log(today); var updated = Parser.data(html).from('<span class="text-red">').to('</span>').build().replace('Updated ', ''); // Logger.log(updated); var table1 = Parser.data(html).from('<table class="table table-bordered nein-scroll">').to('</table>').build(); var tbody1 = Parser.data(table1).from('<tbody>').to('</tbody>').build(); var data1 = Parser.data(tbody1).from('<td>').to('</td>').iterate(); // Logger.log(data1); var table2 = Parser.data(html).from('<table class="table table-bordered">').to('</table>').build(); var tbody2 = Parser.data(table2).from('<tbody>').to('</tbody>').build(); var data2 = Parser.data(tbody2).from('<td>').to('</td>').iterate(); // Logger.log(data2); var tcases = Parser.data(html).from('Total cases:').to('</li>').build().trim(); var deaths = Parser.data(html).from('Total deaths:').to('</li>').build().trim(); var states = Parser.data(html).from('States reporting cases:').to('</li>').build().trim(); // 結果を保存 var result = []; result.push(today); result.push(updated); result.push(data1[1], data1[3], data1[5], data1[7]); result.push(deaths, states); result.push([data2[1], data2[3]]); Logger.log(result); // スプレッドシートに書き込み var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('log'), true); spreadsheet.appendRow(result.flat()); }
テスト中
毎日 7~8時頃更新