• 締切済み

IEにページの内容を表示させない方法

IEにページの内容を表示させない方法をご存知の方はいないでしょうか。 なぜそういったことをしたいのかというと スクリプトでIE.navigate()やgetElementsByTagNameなどのエレメントの取得を使い高速で複数サイトのデータの取得を行いたいです。 ただページの表示を待ってからエレメントの取得をおこなうと時間がかかってしまいます。 そこでフィルタなどをかけてIEにWEBページを表示させずにエレメントの取得をおこなうか、 IEに直接ソースコードを表示するなどして高速化を行いたいです。 そういった方法をご存知の方はいないでしょうか。

みんなの回答

  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.2

ウェブページからデータ取得を行うことを「スクレイピング」と言いますが、スクレイピング専用に作られた「ヘッドレスブラウザ」(GUI画面のないブラウザ)があります。IE互換ということだと無いかも知れませんが。 「ヘッドレスブラウザ」で検索してみてください。

すると、全ての回答が全文表示されます。
  • hue2011
  • ベストアンサー率38% (2801/7249)
回答No.1

まずブラウザとサーバーの構造をご理解いただかないといけないのですが、昔静的ページ、といって、HTMLが完全に固定した情報として書かれていたサイトの場合はWebサーバは不要でした。HTTPの呼びかけを解析する機能だけがサーバーに生きていればよかったのです。いわば紙芝居です。 しかし、今は動的ページといって、お客の指示によって画面を変え逐次柔軟に応対する形になっています。そこにWebサーバが存在しているのです。これは次のような動きだと思ってください ユーザーのリクエストがブラウザで設定され、送られる。 その信号をサーバーが受け取って、何をしてほしいのか解析し、その実動作を行う。 動作は、DBの読み書きもありますが、次のページを作り直すというのが重要な機能です。 つまり、プログラムがHTMLを書くのです。 そして、ページが作り終わったとき、読み直してくれという信号をブラウザに返してきます。その作成したHTMLのURLを送ってくるんです。 処理中にはそんな信号は来ません。 新たなURLが来たら、それを表示すると、その画面の上に欲しいデータがあるというわけです。 こういう動きですから、画面を表示しないで処理するということは無理です。 もちろん、処理はしていて画面を出さないような組み方は可能ですが、動作にかかる時間には全く影響しません。 ただ表示がでないだけで、処理時間は高速にはならないのです。

すると、全ての回答が全文表示されます。

関連するQ&A