kintone.proxyを用いて、別サイトのhtml情報を取得可能でしょうか。

kintone初心者です。kintone.proxyを用いて外部APIの実行のサンプルを拝見したのですが、APIが用意されていない、別サイトのhtml(WEBでの表示内容)を取得可能でしょうか。

Yoshiさん

 

可能です。例えば、Yahoo!のページをスクレイピングしようとすると、

var url = 'http://www.yahoo.co.jp';
kintone.proxy(url, 'GET', {}, {}).then(function(r){console.log(r)}).catch(function(e){console.log(e)});

で、

r[0]

にHTMLが入ってきます。

Yamashitaさん

ご回答誠にありがとうございました。

実はリッチUIのスクレイピングをしたいと思いますが、 
kintoneの場合、JavaScriptで動的に作成されるhtml部分の取得も可能でしょうか。

よろしくお願いいたします。

> JavaScriptで動的に作成されるhtml部分の取得も可能でしょうか。

きちんと確認したわけではないですが、難しそうですねぇ。

Yamashitaさん

つまり、kintoneの場合、サーバから受け取ったHTMLを元に、JavaScriptで編集された最終のhtmlの値を取得不可。

との理解で宜しいでしょうか。

webで色々検索してみたのですが、DOM操作?等で取得可能のようですが、あくまでクライアント側の処理、との理解でよろしいでしょうか。(トンチンカンな質問で申し訳ございません)

> つまり、kintoneの場合、サーバから受け取ったHTMLを元に、JavaScriptで編集された最終のhtmlの値を取得不可。

との理解で宜しいでしょうか。

 

そうだと思います。

 

> DOM操作?等で取得可能のようですが、あくまでクライアント側の処理、との理解でよろしいでしょうか。

 

クライアントという言葉が色々解釈できそうですが、いわゆるPython/Node.js等の実行環境となりうるサーバー/クライアントと言う意味で捉えると、そうだと思います。こういった環境下で、JavaScriptの実行後DOMの読み込みにはSelenium webdriver/PhantomJSを使ったりといった方法がよく紹介されていますね。

 

同じように、JavaScriptを等価的に実行した結果を取得する行為を kintone.proxy() との組合せで出来るかということっが本質かと思いますが、ちょっと難しそうかなぁというところです。

Yamashita様

ありがとうございました。追加1点の質問で大変恐縮でございますが、

たとえば一般的java scriptでは、以下のjsソースが動きますが、kintoneでは実行されません。

  url = ‘http://weather.yahoo.co.jp/weather/’;
  $.get(url, function(data){
    var content = $(data.responseText).find(‘.title’).text();
    $(“#text”).text(content);

kintoneで実行するには、何らかの変更が必要でしょうか。

或いは、kintone.proxyを使う際には、たとえば[title]部分だけ取得するには、どのように書けば良いのでしょうか。

よろしくお願いします。