• 締切済み

ダイナミックHTMLの取得方法

ブラウザでURLにアクセスすると電力を表示する装置があります。 電力の値だけを取り込んでファイルに保存したいのですが、 HTMLソースを取り込んで見ると、Javascriptで書かれたプログラムが含まれており、 WebサーバーにあるPearlのプログラムに10秒毎にアクセスして値を更新しているようです。 この更新された値をファイルに保存するにはどんな方法がありますか?

みんなの回答

  • think49
  • ベストアンサー率59% (285/482)
回答No.3

Webサイト上のJavaScriptを書き換えてtextareaにでもテキスト出力すれば、出力データをコピペしてテキストファイルに保存できそうですね。 - Bookmarklet で書き換える - ブラウザのコンソールから書き換える - ブラウザの拡張機能で書き換える - Proxomitron, Proxydomo で書き換える # Re: preysさん

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

んー、直接取れたらそれが一番近道なんだけどなぁ。 http://japanese-newt.hatenablog.com/entry/2014/05/03/060809 とかかねー。

preys
質問者

お礼

ありがとうございます。 phamtomjsをインストールしてsampleを試しています。 私のスキルでは使いこなすのに時間がかかりそうです。 頑張ってみます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

正しくはperlね。 そのperlプログラムに直接HTTPで接続して結果を取得、解析してファイルに落とし込む。 HTTP接続できてファイル書き出し出来るのであれば仕組み、言語は何でもおっけー。

preys
質問者

補足

ありがとうございます。 Javascriptと正規表現を勉強してHTMLソースから値を読み出すことはできるようになりました。 C#も勉強して同様のことができるようになりましたが、クライアントで生成されるダイナミックHTMLソースを取り込むことができればなんとかなると思います。 よろしくお願いします。

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

関連するQ&A

  • サイトのソースに書いてあるjsファイルを開いて見たい

    JavaScriptでつくっているだろうサイトのソースのjsフィアルにアクセスしてどんなプログラムを書いているのかを見て勉強したいのですが、 ブラウザのURLに入力してファイルのダウンロード画面は出るのですが、保存もできないし開いてみることもできません。。 どのようにすれば見ることができるのでしょうか。 教えてくださいお願いします。

  • 別HTMLを呼出て値を取得する方法を教えてください

    WEBプログラム初心者です。 メインのHTMLから別のHTMLを呼び出して値を取得しメインのHTMLに表示させたいです。 ■イメージ メインHTMLでボタンを押されたら(javascript ?)、 別ファイルを読み込んで(正規表現?である文字に付随する値)を取得して、 メインのHTMLのテキストエリアにセットするような感じになりますかね? どのように記述すればよろしいでしょうか? Jquery等他言語はよくわからないので、 javascriptだけで実現していただけると助かります。

  • 指定したURLのソース(HTML)を拾ってくるプログラム

    入力して指定したURLの先にあるソースファイル(HTML)を拾ってきて、URLの抽出や過去にとってきたソースと比較して更新されているかどうかをチェックするプログラムを作成しようと思っています。 これに類似したサンプルプログラム(スクリプト)や参考になるサイトを教えてもらえませんか。よろしくお願いします。

    • ベストアンサー
    • Perl
  • cgiでポーリングして取得したデータが変化していた時のみHTMLをリロードする方法

    Perlのカテゴリで質問したところ(質問番号:5634620)、JavaScriptで実現 できるかもしれないとのアドバイスを頂いたので、こちらで質問します。 次のことをするcgiを作りたいのですが  1. cgiを起動したらある装置からデータを読み込んできて配列及びファイルに   書き込み、その内容を表(HTML)に表示。(即時)  2. 5秒ごとに装置に対してデータを読みに行き(ポーリング)、変化があったら   (セーブしてあるデータと読みに行ったデータに違いがあったら)表(HTML)を    リロードして新しいデータの内容を表示する。 perlのカテゴリで下記のようなアドバイスを頂きましたが、 Javascriptは全くわからず、お手上げ状態です。 >Ajaxを使えばできそうな気がします。 >setInterval(checkData,5000); >として5秒毎に、checkData関数を呼び出します。 >checkData関数内では、Ajaxを使ってサーバーのデータを読み込み、現在の >データと照合し、更新していれば、 >location.reload(true); >として、リロードさせます。 実際にどの様に記述すれば実現可能か、教えていただけませんでしょうか。 よろしくお願い致します。

  • Javascriptで外部HTMLの値を取得したい

    WEB初心者です。 Javascriptを使用して、 外部HTMLソースを取得し、その中のある値だけを取得するロジックをご教示ください。 取得した外部HTMLソースに正規表現が使えるなら、下記になるかと思います。 /_xyz" value="([^<]+)">/ キャプチャした値を呼び出し元のHTMLで使用したいです。 ”こんな感じのロジックになります”とご教示いただけますとたすかります。 よろしくお願いいたします。 下記サンプルプログラムを見つけたのですが、 ソース全体ではなくソースの中のある値だけが欲しいです。 --------------------------------------------------------------------------------------------- <?xml version="1.0"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>javascriptでHTMLのソースを取得</title> <script language="javascript" type="text/javascript"> function createhttprequest(){ var request=null; if("XMLHttpRequest" in window){ request= new XMLHttpRequest(); } else if("ActiveXObject" in window){ try{ request=new ActiveXobject("Msxml2.XMLHTTP"); }catch(e){ try{ request=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ } } } return request; } var request; function requestsorce(url){ request=createhttprequest(); request.open("GET",url,true); request.onreadystatechange=sorceget; request.send(null); } function sorceget(){ if (request.readyState == 4 && request.status == 200){ document.form1.sorce.value=request.responseText; } else{ } } </script> </head> <body> テキストボックスにurlを入力してソース取得ボタンを押してください。 <form name="form1"> <input type="text" name="urlbox" size="40"> <input type="button" value="ソース取得" onclick="requestsorce(document.form1.urlbox.value)"> <textarea name="sorce" rows="120" cols="100"> ここにソースを表示 </textarea> </form> </body> </html>

  • HTMLから自動的に文章取得

    HTMLデータの中から、狙った文章をPerlで抜き出すプログラムを書こうとしています。 (1)urlが並んでいるテキストファイルから、1番上を$urlに入れる (2)urlからHTMLを取得する (3)HTMLを解析、文字列の取得 (4)「author: title: 」のように、形を変えて、新たなテキストファイルに1行printする。 (5)すべてのurlに繰り返す と動くプログラムです。 LWP::Simpleのget関数を使うか、wgetを使うかも考えています。 ここでの質問は、(1)の、URLを上から順に引っ張ってくるプログラムの作り方を聞きたいです。 $i行目の改行までを取得、という考えでいいでしょうか? ベターな方法や、少しでも参考になる情報がありましたら教えていただけると嬉しいです。

    • ベストアンサー
    • Perl
  • jsファイルを閲覧者がダウンロードできないようにする方法は?

    JavaScriptを外部ファイルとして、<SCRIPT></SCRIPT>でHTML内で指定し呼び出していますが、jsファイルの所在パスとファイルがそこに記述されているので、閲覧者にHTMLソースを覗かれて、ブラウザで直接、そのパスとファイル名にアクセスされると、簡単にjsファイルがダウンロードできてしまう。 これを防ぎたいのですが、不可能でしょうか? それとも何か良い方法はありますでしょうか?

  • JavaScript→HTMLへ値渡しする方法

    お世話になります。 JSPファイル内のJavaScriptで調べた値を、 同じJSPファイル内のHTMLへ値を渡して、 その値をHTML内のIF文で判断して、 HTMLの表示画面内容を、 大まかには、以下のサンプルソースのような流れで 変更したいです。 <script language="JavaScript" type="text/javascript"> <!-- function getInfoAgentUser(){ var agent_user = navigator.userAgent.toLowerCase(); var WinOs = agent_user.indexOf("win") != -1; // 文字列に、"win"が含まれているケース var Msie = agent_user.indexOf("msie") != -1; // 文字列に、"msie"が含まれているケース var errFlg = ""; if(WinOs){ if(Msie){ errFlg = "0"; }else{ errFlg = "1"; } }else{ errFlg = "2"; } } //--> </script> </head> <body onLoad="getInfoAgentUser()"> <c:if test="${errFlg == 1}"> <h1>ブラウザエラー</h1> <div class="main"> <p><c:out value="Internet Explorerを利用してください" /></p> </div> </c:if> <c:if test="${errFlg == 2}"> <h1>OSエラー</h1> <div class="main"> <p><c:out value="Windows XP以上を利用してください" /></p> </div> </c:if> 上記のサンプルソース内の、 JavaScript内のIF文で判断した「errFlg」変数の値を、 <body ~以下で、 <c:if test="${errFlg == 1}"> みたいに判断し分岐して、 HTMLの表示画面内容を 変更したいです。 どのようにすれば、上記の「errFlg」変数の値を JavaScript→HTMLへ値渡し出来るのでしょうか? 以上になります。 ご存じの方がいらっしゃいましたら教えてください。 宜しくお願いします。

  • 1つのファイルにデザイン(HTML)と計算処理(PHP)を記述していますが、分けたいと思っています。

    PHP初心者です。 1つのファイルにデザイン(HTML)と計算処理(PHP)を記述していますが、分けたいと思っています。 何か方法がありますでしょうか?よろしくお願いします。 (画面仕様) HTMLファイルにFRAME1とFRAME2という名前の2つのインラインフレームを配置しています。 FRAME1はHTMLファイル、FRAME2はPHPファイルを使用します。 FRAME1にはテキストボックス、FRAME2はボタンが表示されます。 (動作手順) 以下のような動作をします。 (1)FRAME1のテキストボックスの内容を変更、又はFRAME2のボタンを押す。 OnChange()又はOnClick()イベント時にJavaScript処理が実行される。 <JavaScript処理> FRAME2のURLを更新(テキストボックス内容をURLの引数にする) (2)FRAME2は更新されたのでボタンが再表示される。 PHPとJavaSctiptが記述されているので実行される。 <PHP処理> URL引数で渡された値を判定、計算 <JavaScript処理> FRAME1のテキストボックスにPHPで計算した値を表示 FRAME2に使っているファイルにHTMLとPHPとJavaScriptが一緒にかかれています。これを何とかしたいです。

    • ベストアンサー
    • PHP
  • HTMLファイル1の値をpost

    HTMLファイルからHTMLファイルへ移動するときに、 HTMLファイル1の値をpostで HTMLファイル2へ渡しJavaScriptで HTMLファイル1の値を表示させたいのですがうまくできません どのようにすればいいのでしょうか?