• 締切済み

検索結果数の遷移をグラフ生成したい

いくつかのキーワードについてグーグル検索ヒット数の日々の遷移を自動的にチェックして折れ線グラフにするようなプログラムを作りたいです(できればウェブサイトに表示されるようにしたい)。 芸能証券の株価チャートのようなものをイメージしています。 http://d.hatena.ne.jp/keyword/芸能証券 どういうことを勉強するとできそうでしょうか? 現状の自分は以下のようなものです。 経験あり - C++ - Perlも少しわかりますが、CGIなどは未経験です。 経験なし - サーバー運用 - コマンドを定時実行する - ウェブサービスをプログラムから利用する - データベース運用 - プログラムで画像を生成する

みんなの回答

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.2

|cron コマンドで定時実行する。 のは、Google の検索結果数を取得するためだけなので、 |- 画像解析ライブラリ(OpenCV) |- グラフ作成ソフト(gnuplot) |- HTML5の画像描画(Canvas) |するようなプログラムを、 は、別言語でも OK! これも、cron で定時実行してあげれば OK! Canvas にするなら、別のプログラムで JavaScript コードを生成しておいて、HTML から JavaScript ファイルを読み込んだほうが楽だし早いとおもう。 |> Google Custom Search API |(Customする必要がありそうな場面が解りませんでした) URL 書くの忘れてた。。。 Google Custom Search API https://developers.google.com/custom-search/v1/overview Google 検索をプログラムから利用するには、Google が用意した API を使わないと利用規約違反なので。。。 |> ・REST |(データをもらう側の実装でアーキテクチャスタイルを意識するような場面が解りませんでした) URL 書くの忘れてた。。。 Using REST to Invoke the API https://developers.google.com/custom-search/v1/using_rest |(統計計算が要りそうな場面が解りませんでした)」 統計計算のことじゃなくて、統計的手法のこと。 統計的手法を使わないなら、いらない。 でも、知ってるとグラフの表現方法や切り口が増えるよ?

全文を見る
すると、全ての回答が全文表示されます。
  • dscripty
  • ベストアンサー率51% (166/325)
回答No.1

「- Perlも少しわかりますが、CGIなどは未経験です。」 これは、なくても出来るけど、あったほうが色々楽。 「- サーバー運用」 いらないかな? CGI か ウェブアプリケーションプログラムできて、cron 実行できる、レンタルサーバ借りればいいとおもう。 レンタルサーバは Apache が多いから .htaccess の簡単な設定ぐらいは出来たほうがいいかも。 「- コマンドを定時実行する」 cron 「- ウェブサービスをプログラムから利用する」 Google Custom Search API ・TCP プログラミングするか、TCP 通信をしてくれるツールを利用する。  HTTP クラスを持っているプログラミング言語ならかなり楽だとおもう。 ・HTTP ・REST 「- データベース運用」 Object データベース使ってもいいけど、XML か JSON データのまま処理できれば、いらないかな? XML とか JSON とかが苦手なら、RDBMS で OR 変換して、リレーショナルデータベース(RDB) に保存。 SQL が苦手なら、CSV とかでもいいけど。。。 「- プログラムで画像を生成する」 OpenCV か gnuplot か JavaScript+Canvas などなどのどれか。 でも、大前提の『統計学』を忘れてるよ? あと、ウェブページ作成の 『HTML』と『CSS』。

heyasouji
質問者

補足

ご回答ありがとうございます。 頂いた回答をヒントに用語を調べたりしまして、勉強になりました。 このような解釈で合っていますか? ---- グーグル検索ヒット数の遷移を折れ線グラフに描いて更新していきたいなら、入門者には以下の方法を推奨。 HTTPの通信プロトコル(特にTCP)で Google の何らかの API を利用して検索ヒット数を取得し、 値を CSV / XML / JSON のデータ記述方式でファイルに保存するか SQLデータベースに保存し、 以下のいずれかの方法で折れ線グラフの画像を生成 - 画像解析ライブラリ(OpenCV) - グラフ作成ソフト(gnuplot) - HTML5の画像描画(Canvas) するようなプログラムを、 HTTPクラスが提供されているプログラミング言語(PHPなど?)で実装する。 そのプログラムをレンタルサーバに置いて、 cron コマンドで定時実行する。 そのグラフ画像をウェブサイトに表示できるように HTML や CSS を記述する。 ---- また、以下の行についてはご回答の意図がまだ理解できていないのですが、もしよろしければ更にご説明願えますでしょうか? > Google Custom Search API (Customする必要がありそうな場面が解りませんでした) > ・REST (データをもらう側の実装でアーキテクチャスタイルを意識するような場面が解りませんでした) > でも、大前提の『統計学』を忘れてるよ? (統計計算が要りそうな場面が解りませんでした)

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

関連するQ&A

  • ブラウザのページ履歴を残さずに遷移させる方法

    こんにちわ。 現在、perlにてあるプログラムを作っています。 その中で、数あるCGIファイルをたどっていく際に どうしても、ブラウザに履歴を残さずに 進ませたいのですが、その方法がわかりません。 言い換えれば、一度進んだら戻れなくしたいわけです。 フレーム化してその中のサブフレームで 遷移させたのですが、 物理的にファイル名が変わった場合、ブラウザの 履歴に残ってしまい、戻ることが可能です。 常に新しいページを開かせてもページが 開く座標を全て同一に指定できないと運用上、 よろしくないと考えます。 どうすればこの問題が解消できるか、 ご存知の方が居られましたら回答いただきたいと 思います。 よろしくお願いします。

  • Webでのグラフ表示を行うには、どの言語がよいのでしょうか?

    Web開発未経験者です。 あるシステムのWeb化を検討してまして、 「Webサーバ、及び、Webコンテナとして、Apache-Tomcatを使用する。」 という方針までたてたのですが、その先が詰まってます。 「あるシステム」で最終的にやりたいことは、以下のようなことです。 (1)バイナリーファイル、及び、データベース(Oracleを予定)からデータを  読み出して、グラフに表示させる。 (2)グラフの種類は、  ・プロットグラフ  ・折れ線グラフ  ・折れ線グラフをずらしながら重ね合わせた3次元グラフ  ・プロットグラフを元にした近似曲線  等。 (3)静的なグラフにとどまらず、動的なグラフの表示。  ・http://www.amcharts.com/にあるような、範囲選択して拡大等。  ・その他 ここで質問ですが、言語(ツール)として何を使用すべきなのか?よくわかりません。 当初素人考えでWeb=Javaと考えてたのですが、調べていくうちに、 Webアプリケーション作成にあたっては、いろんな言語(ツール?)があることがわかりました。 Java、Javaスクリプト、Javaアプレット、Javaサーブレット、JSP、PHP、CGI、Ruby、Perl、そのほか・・・。 恥ずかしながら、これらの関係性もよくわかってないのですが、 何(どのような組み合わせ?)を使うのが、いいのでしょうか?

  • Java ファイルが生成させたか確認したい

    表題について質問させて下さい。 通常重たい処理はスレッドで処理し、逐次プログラムを 進めていくのが定石!?なのでしょうが、今回はPNGファイルを 作成(重たい処理)して、そのファイルができるまで処理を 止めておきたいのですが可能でしょうか?? //JFreeChartでPNGデータを作成 ChartUtilities.saveChartAsPNG(file, chart, 540, 240); //PNGデータが作成されるまで待機 //file(PNGデータ)が存在するまでループ while(file.exists()){ sleep(1000); //sleep関数はwait(Object型)で自作実装 } (ChartUtilities.saveChartAsPNGはファイル生成してから次に  進むのではなく、生成前でも次に進みます。スレッドで実装  している??) このソースだと、システムの状態!?を確認・更新していないので 「ファイルが無い」と無限ループします。(もちろんですが...) DelphiですとApplication.ProcessMessagesで状態を更新させれる (ファイルが存在するか確かめれる)のですが、Javaでこれに変わる 命令文などありますでしょうか?? (↑の文章を ネットで調べるためのキーワードが重い浮かびません でした。無知ですみません。) そもそも、もっと違った方法で実現するのでしょうか?? 皆様ご教授願います。 OS : WinXP SP3 JVM: 1.6.0_10-b33

    • ベストアンサー
    • Java
  • グラフを描く目的でプラットホームに依存しない最適なプログラムは?

    ども。 Amuro Rayです。 久しぶりの質問ですが、よろしくお願いします。 次の条件を満足するプログラム環境を探しています。 ■目的 ・折れ線グラフを描くために、プラットホーム選ばずエンドユーザが簡単に操作できるようにしたい。(ウェブブラウザなど) ・その結果を画像(jpegなど)に変換して出力、利用したい。(報告書に添付したい。) ■内容 ・描く折れ線グラフは、簡単な工学、力学的運動方程式と初期値や条件を変更される計算を必要として、計算結果を縦、横軸にプロットします。 ・初期値は、テキストファイル、csv、データベースなどから取り込めることを前提とします。 ・初期値や条件はフォームなど簡単に変更ができ、再計算ができることが必要です。 ・ローカルでも動作して、将来サーバに流用できることが必要です。 ■現状 ・当方、プログラムはc++、VB、php、FORTRANなど少々広く浅くかじったくらいの経験です。 ・ウェブ上でのプログラミングは、Netscapeでjavaが広がり始めたときに、javaが注目されると認識したままで、現在に至ります。(javaプログラミングよりアプレットを利用することが精一杯でした。) ・サーバシステムはありません。(Windows共有のみです。) ・プログラムの開発環境はフリー版で評価して、のち有料開発環境を導入したいと考えています。(フリーのままでよければ、その限りです。) ・PC環境はOSがWindowsXP SP2として、プログラム開発環境を満たすものとします。 ■個人的見解 プラットホームを選ばない、ローカルでも動作する、ユーザインターフェースが用意されている点など考えると「java」なのかと考えています。 WEB2.0系、Ajax、JavaScript(この辺がよく理解していません。)など、またFLASH系でも折れ線グラフを描けるようですが、スクリプト言語系はウェブサイトをダイナミックに記述する方法ととらえています。(間違っていたら訂正をお願いします。) 上記目的を満たすにはどのようなプログラムが最適か、アドバイスを頂けたらと思います。 また実現するにあたって、勉強すべきこと、教則本など紹介していただけると非常に助かります。(1997年ごろjavaの入門書を1冊持っています。ただSunMicrosystemsのスタッフがjavaのすばらしさとアプレットの紹介、初歩のjavaプログラミングを紹介した本です。) 1から勉強しようと考えています。 叱咤激励をよろしくお願いします。

  • ネット証券で

    ネット証券で、株価やリアルタイムチャート(手動更新)がブラウザ形式で提供されている証券会社をあったらご紹介いただきたく書き込みをしました。 基本的にはカブドットコム証券の様な、分足、日足、週足やその他の情報がURL形式でブラウザから表示される証券会社を探しています。 (私の場合、エクセルのHyperlink関数を使って証券番号入力をすると分足や日足、会社情報などのリンクがエクセル上に生成されると言う形で使っているので、楽天などの独自ソフトであるより、エクセルでURLで証券番号などを置き換えて注目している銘柄をブラウザから見られた方が便利なため、上記質問のようなネット証券を探しているという状況です。今のところkabu.comだけでも問題はないのですが、kabu.com証券のサービス形態がもし変わったりしたときの為にと思って質問書き込みをしました。一応参考までにkabu.com証券について書かせていただくと、kabu.com証券のチャートやその他の情報提供形態は、Yahoo!Fainanceがチャートや情報がリアルタイムのデータが反映される様な形になっています。) いろいろなネット証券を使用したことある方など、ご回答いただけたらと思います。よろしくお願いします。

  • FXで、取引口座によって為替レートが違うのか?

    FXってあるじゃん。ドルとかユーロとか買うヤツです。 FXやろうとすると、その取引口座が必要だよね。野村とか、大和とか。 さて、質問なのですが、この口座によって取引価格が違うの? スプレッドとかレバレッジとかスワップとか最小取引単位とかキャンペーンとかオペレーターの礼儀作法が違うのは、そうだよね。だけど、為替相場も違うの? トヨタの株価は、東京証券取引所と名古屋証券取引所で違うよね。まー、全く同じものの売買だから近い価格になるけど、簡単に見比べて選べる状況にあるのならば、安く買えて高く売れるような取引をするのかもね。しかし、野村で買おうが大和で買おうが、株価は同じでしょ。証券取引所で価格差が付き、証券会社では手数料とかには差があるのだよね。 FXだと、取引口座に野村を選ぶか大和を選ぶかマネックスを選ぶか上田ハーローを選ぶかでチャートが変わるのかしら? ヤフーファイナンスっていうウェブサイトあるじゃん。ドルのチャートが載ってるよね。アレ、何を参照してるの? タモリと和田アキ子が居て、タモリが5ドルを差し出して和田アキ子が500円を差し出して、個人の付き合いによる合意で交換するのは自由だよね。そうすると、その場の為替レートは1ドル100円なのだけど、まさかそれをヤフーは参照しているのかい?

  • 業績、チャート等はどのhpが使いやすいですか

    証券コードが分かっていて、その会社の業績やチャート、株価などを調べたい時、皆さんはどれを使ってますか。 証券会社(日本オンライン、日興ビーンズ)やYahooファイナンスを使っているのですがどうなんでしょう。 ちなみに、株投資は経験がながーい割に、ほとんど素人ですが、最近ピーター・リンチの本で「物を買うのにあれこれ調べるのに、どうして株の時にはそれほど時間を使わないのか」を読んで反省しているところです。 その他、投資家よりのサイドにたった考え方のhpがあったら教えて下さい。

  • 初心者向けのお金の投資方法 【200万円前後 5年前後 リスクは少しだけ許容】

    こんにちは。 定期預金に見切りをつけて、なんとかお金を増やせないか模索中です。 で、お金を投資・運用するというキーワードだけしかしらない初心者な自分ですが 200万円ぐらいのお金で 5年間ぐらい運用期間が取れて リスクはローリスクなもの(少々のリスクは許容します) リターンは元金が300万円ぐらいになればいいな(1.5倍ぐらい) また、自分は会社員で、運用に関してエネルギーを集中させる事ができません。 というか、あまりエネルギーを使わないで済むような運用方法を知りたいのです。 イメージとしては、もちろん運用・投資の為の勉強時間はたくさんとって行動しますが、 運用期間中、株価・チャート・世界情勢・円相場などを 毎日チェックするというのは極力しなくて済むような感じでしょうか(ヌルくてすみません) 一度投資したら、たまーにチェックするぐらいで済むような。。。 そんな甘い条件を満たしてくれるものがなんなのか、 外貨投資?投資信託?債券投資?ミニ株? と沢山あって、どのことを勉強していいのかわからない現状です。 上記の条件だったらミニ株がいいんじゃない? ってことがわかれば、それについて集中して勉強したいと思っていますので そのとっかかりを教えていただければと思います。 乱文で失礼ですが、どうぞよろしくお願い致します。

  • 検索結果にリンクを生成

    お世話になります。 MySQL+PHPでのプログラム勉強中です。 テーブル名:果物 code name price 1  りんご  200 2  みかん  100  3  ぶどう  400 このようなデータベースで、名前の検索をして 番号と名前を表示させるのですが、名前がリンクになっており 名前のリンクをクリックすると、別画面で名前と価格を表示 するようなものを作成したいとおもってます。 $sql = "SELECT * FROM 果物 WHERE name LIKE '$tmp_name%'";  $result = mysql_query($sql,$db); $num = mysql_num_rows($result); //$tmp_title = null; $i = 0; for ($i;$i < $num;$i++) { $row1 = mysql_fetch_row($result); $com_cord = $row1[0]; $com_name = $row1[1]; ここからの表示方法がわかりません。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • 検索結果の数について

    前回も質問をしたのですが、html、php、MySQLを使い現在検索システムの作成の練習をしているのですが、やりたいのは、phpでMySQLからデータを呼び出し、htmlで文字を記入して合致しているものを検索して表示し、検索結果数(何件表示されました)を表示するというものを作りたいと思っています。 検索してデータを表示させるということはできたのですが、検索結果数を表示することができません。 count()を使えば一発でできるという助言をいただきましたが調べてもよく分かりませんでした。 [php] <?php $add = $_GET["add"]; $nm = $_GET["nm"]; $server = "xxxxxx"; $dbname = "xxxxxx"; $user = "xxxxx"; $passwd = "xxxxxx"; $sv = mysql_connect($server, $user, $passwd) or die("Connection err1"); $db = mysql_select_db($dbname) or die("Connection error2"); $rows = mysql_query("SELECT * FROM `table1` WHERE add ='$add' or `nm` LIKE N'%nm'"); if($rows > 0){ $out = ""; while ($row = mysql_fetch_array($rows)){ $out .= $row['add']."<i>"; $out .= $row['nm']."<i>"; $out .= "<r>"; } echo $out; }else { echo "参照不成功:nm = ".nm; } mysql_close($sv); ?> phpについてもsqlについてもあまり知識がないのですが、よろしくお願いします。

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • one driveに保存しているエクセルを印刷すると罫線が印刷されない問題について解決法を試しましたが効果がありません。
  • ブラザーのアプリをアンインストールして再インストールしたが改善しない。
  • iPhone 11のiOS15.5からone driveにアクセスして印刷すると罫線が反映される。
回答を見る