- ベストアンサー
javascriptでソースコード取得!ソース表示の方法と他のプログラミング言語について
- javascriptで指定したサイトのソースコードを取得する方法を知りたいです。通常のWEBページで右クリックして「ソースの表示」で表示される内容を取得したいです。
- 特に「Yahoo!JAPAN」のトップページのソースコードを取得したいです。javascriptでソースコードの取得が可能かどうか、可能ならどのようなプログラムを書けば良いかについて教えてください。
- もしjavascriptではソースコードの取得ができない場合、他のプログラミング言語でソースコードを取得することは可能でしょうか。どのようなプログラミング言語を使用すれば良いかについても教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
もしあなたがお使いのPCがWindowsで単純にサイトのソースを取得したいだけというならば、以下のスクリプトを test.js などのファイル名で保存してダブルクリックすれば取得できます。 var xml2 = new ActiveXObject("MSXML2.XMLHTTP"); xml2.Open("GET", "http://www.yahoo.co.jp/", "False"); xml2.send(); WScript.Echo(xml2.responseText); これは WSH と呼ばれるものです。 もしあなたが、このスクリプトをインターネット上にHTMLファイルとして公開して、その上で同じことをしたいのならばNo1さんの言う通り、できません。
その他の回答 (2)
- luka3
- ベストアンサー率72% (424/583)
No.2です。 ≫インターネット上にHTMLファイルとして公開することは、何か法律に触れるということでしょうか? 法律は関係ありません。 ブラウザの仕様と言えばいいのでしょうか。 例えばあなたのページでJavaScriptを使って銀行のサイトのソースを取ってきて、あたかも銀行のサイトになりすますことができたならば、アクセスしてきた人は勘違いしてログインIDとパスワードを入力するかもしれません。 そうするとあなたはその人のアカウントを盗むことができるわけです。 なのでブラウザで実行するJavaScriptは他のサイトにアクセスできないように制限されています。 同じドメイン上であればアクセスできます。 実際に試してみるとよくわかると思います。
お礼
詳しい回答ありがとうございました。 凄く参考になりました。
- mtaka2
- ベストアンサー率73% (867/1179)
> ・ソースコードの取得がjavascriptで出来るのか出来ないのか。 「ソースコードの取得」はできますが、「「Yahoo!JAPAN」のトップページのソースコードを取得」は出来ません。 JavaScriptでは、セキュリティの観点から「クロスドメイン制限」といって、 JavaScriptを動かしているぺージとは別ドメインのデータを取得することはできないようになっています。 そのため、Yahoo!JAPAN以外のページで動かしているJavaScriptからは、Yahoo!JAPANのページ取得は出来ないのです。 > ・出来ないのならば他に出来るプログラミング言語は何か。 クライアント(ブラウザ)側ではなく、 PHPもしくはCGI(PerlやRubyなど)を使ってサーバ側でデータ取得処理をすれば実現可能です。
お礼
回答ありがとうございます。 クロスドメイン制限と言うのがあるのですね。なるほど、分かりました。 PHPもCGIもやっているのでそっちを試してみようと思います。
お礼
回答ありがとうございました。 インターネット上にHTMLファイルとして公開することは、何か法律に触れるということでしょうか?