こちらのコロナ情報から、それぞれの市(横浜市、山北町等)のコロナ感染者の累計を取得(スクレイピング)したいです。
https://www.pref.kanagawa.jp/docs/ga4/covid19/occurrence.html
【環境】
GoogleAppsScript
【利用ライブラリ】
Cheerio
GASでCheerioライブラリを使い、jQueryでの要素指定をして、データを取得するスクレイピングをしたいです。
サイトのtableタグ等に、class名、id等が振られていないため、要素数の番号で指定する方法で取得しております。
現状のコードは以下のとおりです。
GAS
1 2 //スクレイピングスタートするURL 3 const url = "https://www.pref.kanagawa.jp/docs/ga4/covid19/occurrence.html"; 4 5 // UrlFetchAppにて取得(UTF-8を指定) 6 const html = UrlFetchApp.fetch(url).getContentText('UTF-8'); 7 8 // 返り値をCheerioに食わせる 9 let $ = Cheerio.load(html); 10 11 // 指定したいテーブルにid:area01を追加 12 $('table').eq(3).attr('id', 'area01') 13 14 const hiratsuka_data = $('#area01 tr:nth-child(6) td:nth-child(5)').text(); 15
テーブル番号で指定したいテーブルにidを付与し、それをもとに、
nth-childの番号で取得する・・・という、なんとも強引なやり方になっております。
jQueryの知識が乏しいことでこれ以上のコードが書けないのですが、
もっとスマートに要素を指定する方法はありませんでしょうか??
もしわかる方いましたら、ご教示いただけますと助かります。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/28 02:16
2021/10/28 02:33