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]部分だけ取得するには、どのように書けば良いのでしょうか。
よろしくお願いします。