teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/05/04 16:55

投稿

draq
draq

スコア2577

answer CHANGED
@@ -1,4 +1,7 @@
1
- ページのソースを開いてみると、`<div id="app"></div>`の様にコンテンツの中身が空になっています。このことからメニュー等も含めてJavaScriptで動的にコンテンツを構成するようになっているようです。このようなサイトではヘッドレスブラウザ等を使ってブラウザの動作をエミュレートしてからデータを取得する必要があります。
1
+ ページのソースを開いてみると、`<div id="app"></div>`の様にコンテンツの中身が空になっています。
2
+ `let content = UrlFetchApp.fetch(url).getContentText()`で返ってきている内容を確認してみるとメニュー等含めて画面に表示されている内容が含まれていないことがわかります。
2
3
 
4
+ このことからメニュー等も含めてJavaScriptで動的にコンテンツを構成するようになっているようです。このようなサイトではヘッドレスブラウザ等を使ってブラウザの動作をエミュレートしてからデータを取得する必要があります。
5
+
3
6
  GASから使えるものとしては、PhantomJSをクラウドから利用できるようにしたサービス(PhantomeJS Cloud)がありますが、PhantomJS自体が既に開発終了しているため推奨はしません。
4
7
  実際に使ったことは無いので、詳しくはググってください。