JavaScriptプログラムに関する各種メモ書き

JavaScriptで外部サイトをスクレイピング【Cross-Domain-Ajax】

JavaScriptで外部サイト(別ドメイン)のファイルを取得しようとすると、crossdomainの制約にひっかかってエラーとなります。

そこでCross-Domain-Ajaxプラグインを使用します。

jquery.xdomainajax.js

https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js

例1:Yahooのトップを取得します。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.xdomainajax.js"></script>
<script type="text/javascript">
    uri = 'http://www.yahoo.co.jp/';
    $.get(uri, function(data){
        alert(data.responseText);
    });
</script>

例2:Yahooのキーフレーズ抽出APIを呼び出してみます。

appid は各自用意してください。

ajaxメソッドを呼び出していますが、【type:'POST'】は使用出来ません。

【type:'GET'】の時のみ正常に動作します。

    // Cross Domain Ajax ajax()メソッド
    jQuery.ajax({
        url: 'http://jlp.yahooapis.jp/KeyphraseService/V1/extract',
        type: 'GET',
        data: {
            appid    : 'XXXXXXXXXX',
            sentence : '庭には二羽鶏がいる',
            output   : 'json'
        },
        success: function(data) {
            alert( jQuery(data.responseText).text() );
        }
    });

簡単ですね。

おすすめです。


関連エントリー

No.759
02/24 17:30

edit

Ajax
jQuery