実現したいこと
LINELIVEという動画配信サービスのページ内で、フォロワー数を取得したいと考えています。
開発者ツールで確認したところ、下記コードで抽出したい数値が定義されていました。
HTML
1<p class="mdCMN12ImgOpt"><em>587,288</em>フォロワー</p>
例:
https://live.line.me/channels/290685
スクレイピング方法は下記Youtubeを参考にしました。
https://www.youtube.com/watch?v=o9yLU-V3NV0&t=131s
発生している問題
下記コードでうまく抽出できませんでした。
gas
1function getText(){ 2 const url = "https://live.line.me/channels/290685" 3 let content = UrlFetchApp.fetch(url).getContentText() 4 5 let start ='<p class="mdCMN12ImgOpt"><em>' 6 let end ='</em>' 7 8 let getData = Parser.data(content).from(start).to(end).build() 9 10 console.log(getData) 11}
出力ログは下記の通りで、HTMLの先頭部分のようです。
log
1<!DOCTYPE html> 2<html lang="
.
別のタグではうまくいくのか確認するため、試しにstartとendを書き換え、同じページ内の冒頭部を取得してみると、下記の通りうまく取得できました。(目的のタグではない)
そのため、Parserライブラリは問題なく動いているようです。
gas
1function getText(){ 2 const url = "https://live.line.me/channels/290685" 3 let content = UrlFetchApp.fetch(url).getContentText() 4 5 let start ='<meta property="og:site_name" content="' 6 let end ='">' 7 8 let getData = Parser.data(content).from(start).to(end).build() 9 10 console.log(getData) 11}
log
1LINE LIVE(ラインライブ)| 国内最大級のライブ配信サービス
単純なテキスト抽出と考えているので、なぜ前者のコードでうまくいかないのか頭を抱えています。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/06 12:33