0

この回答を参照してください。私は任意のHTMLからRuby言語でHTMLをフェッチしようとしました。

単純なWebサイトの場合、これらの方法を使用しても問題ありません。しかし、これらをCourseraサイトで使用しようとすると、結果にはまだすべてのデータが含まれていませんでした。彼らはここのデータソースに要求し、すべてのコンテンツを操作するためにJavaScriptを使用しているようです。

だから、私の質問。すべての読み込みが完了したときにデータを抽出するために、Rails(サーバー側)でjQueryコマンドを呼び出す必要がありますか?

注:私はRuby on Railsをまったく使用していません。gitHubなどのソースコードやデモアプリの例は、本当に役に立ちます。前もって感謝します

4

1 に答える 1

0

HTML を抽出する前に、JS をレンダリングできるツールが必要になるようです。これにはおそらく多くのオプションがありますが、頭に浮かぶ唯一のツールは、サイトのスクラップをサポートするヘッドレス WebKit であるPhantomJSです。DOM 操作に関するセクションで、DOM 操作に関するいくつかのアイデアを確認してください。

サイトからの例:

次の useragent.js の例は、id が myagent である要素の innerText プロパティの読み取りを示しています。

var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
page.settings.userAgent = 'SpecialAgent';
page.open('http://www.httpuseragent.org', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var ua = page.evaluate(function () {
            return document.getElementById('myagent').innerText;
        });
        console.log(ua);
    }
    phantom.exit();
});
于 2012-09-02T13:32:11.460 に答える