• 締切済み

AJAXで取得されているデータのスクレイピング

PerlでWEB上のデータを収集したりしていますが、 AJAXでデータを取得する部分は、ブラウザでonload後に 行われている為、サーバサイドで実行するPerlで取得する事が出来ません。 そもそもデータの取得は不可能でしょうか? それとも他に実現可能な手段はありますでしょうか? 宜しくお願いいたします。

  • Perl
  • 回答数1
  • ありがとう数0

みんなの回答

noname#94983
noname#94983
回答No.1

perlは、あくまでサーバ側で動いているわけで、ブラウザに既に送信されてしまった後では手のうちようがない。だから、再びサーバに送信されたときに処理をするしかない。 例えば、ページ内に非表示の入力フィールドを持った非表示のフォームを用意しておき、JavaScriptでデータを取得したら非表示フォームに値を設定した後サーバに送信する、というのはどうか。送信先のperlプログラムで送られてきた値を処理し、再度ブラウザに結果を送り返す。 あとは、Javaスクリプトでデータを取得したら、そのままAjaxでサーバ側のperlプログラムにそのデータを送信し処理させ、また結果をAjaxで受け取る、という方法も考えられるだろう。

関連するQ&A

  • Ajax+JavaScriptにて外部データの取得について教えて下さい。

    お世話になります。 現在、JavaScriptとAjaxを勉強中なのですが、Ajaxを使ったデータ取得において、外部サーバデータ(例えばYahooホームページのソース)等を取得するには、PHPにて作成した簡易ブラウザが必要と記してありました。 つきましては、PHPでの簡易ブラウザのコードが記述されている書籍・サイトをご紹介頂けます様お願いします。 また、AjaxにてPrototype.jsなどを使っているのですが、具体的で実用的なAjaxの使い方をご教示頂けます様お願いします。 上記質問がカテ違いの場合はご指摘頂けます様お願いします。

    • ベストアンサー
    • AJAX
  • Ajaxをつかってデータを取得

    いつもお世話になっております。 今回はAjaxを使ってデータを取得する方法をお聞きしたいです。 たとえばログリストのようなものがあるとして、サーバー側にそのデータがあります。 そのリストを開いたとき、サーバーからデータを得て、リストに追加します。 そこで「次へ」のようなボタンを押した際、非同期で次の分を取得する方法はありますか? またこれは「パース」という方法になるのでしょうか? ご教授願います。

    • ベストアンサー
    • CGI
  • AJAXでクリック時にサーバーからfinctionを取得

    普通Javascripではfunction等は HTMLが読み込まれた際に実行または読み込まれますが、 AJAXでクリック時にサーバーからデータを取得する際に、 function(){}も取得したしてもそのfinctionは有効なのでしょうか? AJAXでデータは取得できても、functionなどのメソッドを取得してそれを有効にすることは可能でしょうか? よろしくお願いします。

  • Ajaxでリファラは送れるの?

    ちょこっと不特定多数のWEBサイトを対象に こちらが準備したjsソースをブログやサイトに張り付けると サービスを受けれる というシステムを作っています そのサービスを受けるためにAjaxを利用し、サーバからデータを取得するのですが サーバに接続する際に どこのWEBページからアクセスしてきたかというデータはブラウザから送信されているのでしょうか? 不特定多数のサイトからのアクセスを考えているので 認証IDみたいなものではなく、アクセスしてきたURLを識別したいと思ってます

  • Ajax⇒CGI

    JavaScriptは結構知ってますが、 AjaxとPerlに関しては初心者のものです。 早速ですが質問です。 Ajaxで送信したデータをCGI(Perl)で処理して、 サーバーのテキストに保存する方法が良く分かりません。 サーバーはCGIを許可しているところを使っています。 どなたか詳しい方、ご教授お願いします!

  • ajaxの使いどころ

    現在、会員制のWebサービスを作成しています。 まだ初期段階ですが、今は管理者用のユーザー管理ページに着手しており、サーバーサイド、クライアントサイド合わせて、およそ7割程度完成しているいるところです。 このページの現時点での実装では、ユーザーの削除、復活、パスワードリセット、登録情報の変更、新規ユーザーの登録といった全機能でajaxを使っています。 また、処理対象のユーザーは一覧のテーブルをクリックして選択するのですが、このクリック時にサーバーからユーザーの詳細情報を取得しており、ここでもajaxを使っています。 要するに、1ページ取得したあと、そのページ内でサーバーと通信を行う必要が生じたら、それはすべてajaxを使うという決まりです。 そこで、ajaxの運用についていくつかわからない点があり、質問させて頂きます。 (1) 会員専用ページという性質を考えると、ajaxでリクエストを送信した際にも、サーバーサイドではそのリクエストに対するセッションが有効かどうかをチェックする必要がありますよね? 一般的な会員向けWEBサービスでは、"ページ遷移毎"だけでなく、"ajaxでの通信毎"でもセッションのチェックを行うものなのでしょうか。 (2) ajaxでの通信時にセッションの有効性をチェックした結果、すでにタイムアウト等でセッションが無効な場合、一般的にはどうするべきなのでしょうか。 個人的にはlogoutページにリロードしたいと考えているのですが、このようにするには、サーバー側がレスポンスを返すときに、{error:{code:'1',message:'session_out'}}のようなJSONを返して、それをjavascript側で確認し、location.hrefを書き換える、というような流れで処理を行うことになるのでしょうか。 (3) そもそも、今回のように「1ページ内で生じるサーバー間通信は全てajaxで補う」という考え方は、一般的なものなのでしょうか。 なにが言いたいかというと、"セキュリティ等を考慮してajaxを使うべきではない処理"と"ajaxを積極的に使うべき処理"(もしくは、"ajaxを使っても差し支えない処理")の判断の仕方、つまり、ajaxの使いドコロがよく分かっていません。 以上3点につきまして、ご教授いただければ幸いです。

    • ベストアンサー
    • AJAX
  • Ajax環境のつくり方

    Sigma Visual Ajax GUI Builder http://www.sigmawidgets.com/ http://www.sigmawidgets.com/products/sigma_visual/VisualJS/index.html と言うWEBサービス上でWEBインターフェイスを作成したのですが WEB技術の知識が殆ど無く、興味本位でテストしてみたかったのですが。 作成したデータをローカルサーバに置いてブラウザからアクセスしてみ たのですがJSファイルを延々と読込み状態のままUIが表示されません。 Sigma Visual Ajax GUI Builder側の実行ボタンでの確認時は正しく 表示されるので、ローカルのサーバー等の設定の問題かと思います。 JSの知識すら無いので、「.HTML」ファイルと同じように ROOTフォルダにダウンロードしたファイルをただ置いただけですが それでは動かないものなのでしょうか? 実行エンジン等との関連付け等が必要なのでは無いかと思いだ しましたが、どのファイルが実行エンジンなのかわかりません。 説明すら検討違いでしたら申しわけありません。 要は、Sigma Visual Ajax GUI Builderをローカルサーバで動かす には、どのデータを何処に保存して、どのような設定をすれば良いか と言う事が知りたいのですが、お解りになられる方お願いします。

    • ベストアンサー
    • AJAX
  • AJAXでサーバーにある連想配列を取り出す

    こんにちは。PHP学習者です。 ブラウザ上でAJAXを使って、サーバーにあるPHPで作ったデータファイルを取得する方法は知っていますが、連想配列を取得することは出来ますか? 今までは連想配列をわざわざテキストファイルに書き換えてからAJAXで取得していましたが、もし直接取得する方法があれば知りたいと思いました。 詳しい方、どうかよろしくご教授ください。お願いします。

  • Ajaxでのページングについてなのですが...

    現在AjaxにてWebアプリを作成しております。 Webサービスからデータを取得して ブラウザに表示させることはできたのですが、 ページングで悩んでおります。 Webサービスで返ってくるデータは1ページ10件です。 検索フォームからある商品を検索して、返ってきたXMLタグにトータル件数、ページ数があります。 <TotalResults>249</TotalResults> //トータル件数 <TotalPages>25</TotalPages> //ページ数 データ取得の際にpageというパラメーターにページ番号を渡してやれば、 表示できることは分かるのですが、この先に進めません。(恥) Ajaxといいますか、javascriptでのページングはどのようにすればよろしいのでしょうか? 「Google」または、こちらの「教えて!goo」様のようなページングが理想なのですが、 何卒ご指導よろしくお願いいたします。 「追記」 また、上記の25ページ分のデータを一度に取得して表示させることはできるのでしょうか?

  • Ajax&CGI

    Ajax勉強中の者です。 勉強のために簡単なAjaxプログラムを作成しているのですが、早速上手くいかず困っているので質問させて頂きます。 ※ソース等は手元にないのであまり詳しい状況は説明できないかもしれませんが・・。 実現したいことはテキストボックスがあり、そこにIPアドレスを入力しボタンを押すとサーバへ入力した値を送信し、サーバ側では送信された値を受け取りいろいろ処理をした後にクライアントへレスポンスし、クライアントで表示する みたいなことをやりたいのですが(説明下手ですみません・・)。 サーバ側はCGI(Perl)で作成しており、処理は簡単に説明するとクライアントから受け取ったIPアドレスでPingを打ってその結果をクライアントへ返すみたいな感じなのですが、上手く動作せず困っています。 PerlではNet::Pingモジュールを使ってIPアドへPingを実行しています。エラーの内容ですがXMLHttpRequestのstatusは500(サーバー内部エラー)となっており、”エラーを特定できません”と表示されます。 使用しているWebサーバはApacheですがこれは自分がテスト用PC(Linux)へインストールしたもので、もしかしたらサーバ構築に問題があるのかなぁ~なんて不安にもなっています。 テキストボックスに入力したIPアドをサーバで受信し、ブラウザにAjaxで”入力されたアドレスは~です”と表示させたりは動作したのですが・・。 また、Apacheの設定で拡張子.plをCGIとして扱わないようにすると(httpd.confファイルのAddHandlerへ.plを追記しない)サーバの処理結果でなくソースが丸ごと表示されてしまい困っています・・。 ただ拡張子.plをCGIとして扱うと処理結果がレスポンスされます。 この現象についてもどなたか原因を説明して頂けると感謝です。 原因&解決方法など分かる方はぜひご教授ください。 よろしくお願い致します。

専門家に質問してみよう