3

Web ページ内のテキストを文字列として取得したいと考えています。これは可能ですか?私はJavascriptが初めてです。

例えば:

var url = "http://en.wikipedia.org/wiki/Programming";
var result = url.getText();  <---- stores text as a string
document.write(result);

getText メソッドの書き方 HTML ソース コード全体 (テキストを取得するために使用できます) またはテキストのみをエーテル化します。これをWebブラウザ内から実行したいと思います。

これを試したところ、インデックス番号を取得できました。

var url = "http://www.youtube.com/results?search_query=cat&page=2";
var result;
function go(){
    result = url.search(/cat/i);
    document.write(result);
}

これにより、44 のインデックスが得られます。これは、ページの読み取りが可能であることを意味します。逆にインデックスを入力してテキストを取得することはできますか?

4

3 に答える 3

2

Ajax/クロスドメインの状況が問題にならない場合は、Web ページのテキストを次のように抽出できます。

var el = document.body; // or some other element reference
var text = el.innerText || el.textContent;

アプリケーションと同じドメイン内のページからテキストを読み取る必要がある場合は、Ajax を直接使用できます。

ドメイン外のページからテキストを読み取る必要がある場合は、プロキシ サーバーの設定や CORS の処理など、いくつかの余分な手順を実行する必要があります - http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

于 2012-11-03T03:06:35.677 に答える
2

Ajax はクロス ドメインをサポートしません。サーバー側の言語が必要です。

于 2012-11-03T02:10:58.107 に答える
1

そのためには、JavaScript ではなく、より強力なサーバー側言語を使用する方がよいでしょう。Python または PHP は適切な選択です。

于 2012-11-03T02:08:03.930 に答える