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

回答編集履歴

1

ついき

2019/03/19 02:08

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -7,4 +7,27 @@
7
7
 
8
8
  > 勉強するためのサイト
9
9
 
10
- [Apps Script](https://developers.google.com/apps-script/)
10
+ [Apps Script](https://developers.google.com/apps-script/)
11
+
12
+ ---
13
+ > まずログイン処理の部分。
14
+ SBI用に書き直してみたのですが、実行がうまくいっているのかの確認方法がわかりません。
15
+
16
+ ログインのところだけやっても分かりません。
17
+ PDFにするという処理のところで、PDFにしてみて、ログイン後の画面が取れるかどうか、がログインできたことの検証になります(必ずしもPDFにする必要はないですが、responseを解析するよりも、PDFにするコードがあるなら、実際問題PDFで見るのが手っ取り早い方法だと思います)
18
+
19
+ > また価格を取得する部分。
20
+ 例ではpdfを取得しているようですが、これを価格を取得することに応用する方法が分かりません。
21
+ SBIのサイト先ではテーブルのようになっているなかの一部分なのです。サイトの要素?をお示しすべきかもしれませんが、個人情報を載せないように晒すことに自信がありません。
22
+
23
+ 前提としてPDFで(全体を取得して)欲しい部分が取れていることを確認してください。というのは、ブラウザで見ることを前提にページが作られている場合URLFETCHAPPではどうしても取れないデータが発生します。理由はajaxというような技法(技法ってほどでもないですが)で、漸次取得しているデータは、取り切れないからです。
24
+
25
+ 1つ目のリンクにある
26
+ ```
27
+ var searchTag = '/contributions"><span class="userActivityChart_statCount">';
28
+ var index = html.indexOf(searchTag)
29
+ if (index !== -1) {
30
+ var html = html.substring(index + searchTag.length);
31
+ var index = html.indexOf('</span>');
32
+ ```
33
+ のところの、`searchTag`の右辺や、` html.indexOf('</span>')`の`</span>`を、欲しい情報の前後にあって曖昧性のないものにすれば、必要な部分だけ切り出すことができると思います。