• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語を使って、htmlファイルのタグの部分から...)

C言語を使ってhtmlファイルのタグの部分から情報を切り出す方法

このQ&Aのポイント
  • C言語を使用して、htmlファイルのタグで挟まれた部分の情報を抽出するプログラムを作成したいです。
  • 具体的には、気象庁のデータ(八王子の2008年5月1日の1時間ごとの値)のhtmlソースを解析し、表の中のデータを整理して保存したいです。
  • サンプルプログラムやアドバイスをいただけると助かります。C言語のプログラミングに詳しい方、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#144013
noname#144013
回答No.3

こんにちは。 直接の回答でなくてすみません。 Excelをお持ちでしたら、という前提で、 ご質問のリンク先のデータを保存するのでしたら、  1)ブラウザ上でデータ範囲をマウスで選択する。    ・選択範囲が反転表示された状態になります。  2)マウスの右クリックメニューよりコピーする  3)Excelを起動する。    ・シートが新規作成された状態にします。    ・かつ、A1セルが選択された状態にします。  4)Excelの「編集」メニューより「貼り付け」を行う。    ・シートにデータが貼り付けられます。  5)必要ならデータを加工する。  6)ExcelでデータをCSV形式ファイルで保存する。  ※また、リンク先サイトのページを保存する際は、ブラウザ上で   「ファイル」メニューより「名前を付けて保存」を選択し、   ファイルの種類を「HTMLのみ」にして保存した方が楽かもしれ   ません。  ※ローカルに保存したHTMLファイルをブラウザで開いてから、   上記の作業を行うという方法もあります。 という作業でデータをCSV形式のテキストファイルにしてからの方が、 C/C++のプログラムから扱い易いと思いますが如何でしょうか? CSV形式ならカンマ区切りのみでデータを抜き出していけば良いので、 html形式のデータを扱うよりも処理が楽になるかと思います。 宜しければ検討してみては如何でしょう? まあ、Excelを使うなら、C/C++のプログラムを使わずに、Excelだけで 処理を行うという方法も考えられますが。。。

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

その他の回答 (2)

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.2

環境がかかれてないけど、DOMを使うという方法もありそう。 VSの場合、C++からだとちょっと面倒かも。 C#とかからのほうが簡単。

akasatani
質問者

補足

回答ありがとうございます。 環境はwindows xpで、Borland C++ 5.5というものを使おうと思っています。 よろしくお願いします。

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

「ど~しても C じゃないとダメ」というのでなければ (かつデータ量が膨大なものでなければ) 「テキスト処理に強い言語を使う」というのを選択肢に入れるべきだと思う. awk とか Perl とか. 今だと Ruby とかもあり?

akasatani
質問者

補足

回答ありがとうございます。 「どうしても」というわけではありませんが、Tacosanさんの回答の中から選ぶとすれば、Rubyです。 よろしくお願いします。

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

関連するQ&A

  • 気象庁アメダスの情報を表示するソフトを作りたい

    質問です。前回も質問させていただきましたが、あまりよく分からなかったので、再度質問します。 気象庁のアメダス(表形式)のデータを読み込み、表示させるソフト(ガジェット)が欲しいです。 以下のアドレスは、つくば市の物ですが、たとえば、今が、13時台なら、13時10分頃にデータを取りに行き、「気温 降水量 風向 風速 日照時間」を表示させたいです。 http://www.jma.go.jp/jp/amedas_h/today-40336.html?groupCode=26&areaCode=206 そういう、ソフト(ガジェット)は、ありますか? もしなければ、製作することはできますか? 自分は「TTSneoデザイナ」でなら作れます。なので、ソースのどの部分を取り出せばいいでしょうか? ソースも、載せようと思ったのですが、4000字を超えるので載せられませんでした。お手数をおかけします。 少しわかりにくいかもしれませんが、回答、よろしくお願いします。

  • ソフト(ガジェット)を作りたい

    質問です。 気象庁のアメダス(表形式)のデータを読み込み、表示させるソフト(ガジェット)が欲しいです。 以下のアドレスは、つくば市の物ですが、たとえば、今が、10時台なら、10時10分頃にデータを取りに行き、「気温 降水量 風向 風速 日照時間」を表示させたいです。 http://www.jma.go.jp/jp/amedas_h/today-40336.html?groupCode=26&areaCode=206 そういう、ソフト(ガジェット)は、ありますか? もしなければ、製作することはできますか? 自分は作れないので… 少しわかりにくいかもしれませんが、回答、よろしくお願いします。

  • 2つのファイルを比較するC言語プログラムについて

    はじめまして、C言語プログラミングについて質問です。 2つのファイルの内容を比較するプログラムをC言語で作成する方法 について教えて頂けますでしょうか? 2つのファイルをそれぞれオープンした後、ファイルの先頭から1行ずつ読み込んで比較し、 違いがあればその行を画面表示するという動作をさせたいと考えて おります。

  • C言語初心者過ぎてわからないです

    エクセルのCSVデータなんですが 1行目のデータを 1行目から5行目まで同じデータ 6行目のデータを 6行目から10行目まで同じデータ 10行目のデータを 10行目から15行目まで同じデータ 以上のような作業を繰り返し元のCSVのデータをすべて5行(つまりデータの量は5倍)にしたいのですが C言語でこのような作業を行うファイルをつくるにはC言語ではどのようなプログラムになるでしょうか

  • C言語でのファイル読み込み

    C言語でのファイル読み込みに関してお尋ねしたいことがございます。 たとえば、「test1.dat」というような数字が複数行記載されたデータファイルがあり、 それを配列に読み込んで作業をしたのちに、 同じ作業を「test2.dat」「test3.dat」・・・というようなデータファイル (これらも、test1とは異なる数字が複数行記載されたデータファイル)にも 施したい場合、どのようなループ処理をすればよいのでしょうか? perlの場合ですと比較的簡単にできたのですが、 Cの場合はどうしたらいいかわかりません。 どうぞよろしくお願いいたします。

  • C言語について

    C言語について教えてください。 データを読み込んでそれを元に計算して出力したいと考えています。 例 データ 12 34  5 12 43 このようなデータを読み込んで計算するときに (N+1行目のデータ)ー(N行目のデータ)   のような計算をしたいのですがどのようにすればいいのでしょうか? 同じ行のデータのみで計算することはできるのですが他の行の数値をつかって計算する方法がわかりません。 どうぞよろしくお願いします。

  • 最もポピュラーなC言語は?

    どなたか、現在最もポピュラーなC言語はなにか、教えていただけませんか. しばらくプログラミングから離れていましたが、このごろまた復帰しました. 昔のC言語で書いたソースを近代化するつもりで、C#に取り組みました. ところが、これでよかったのかどうか疑問になってきました. C#よりも、C++にすべきではなかったのでしょうか. あるいは、なにもC++とか、C#にしなくても、昔のC言語でもWindows上で働くようにできないかと言う疑問です. そこで、伺います.  現在、プロの世界で実際に実用されているC言語はいったいどれでしょうか? ボーランドも含めて、教えてください. よろしくお願いします.

  • PICプログラム C言語とアセンブラ言語

    PIC18シリーズを使用して、プログラミングをしています。コンパイラはCCS-Cです。今まではすべてC言語で書いてきたのですが、アセンブラでしか設定ができない部分があり、今までのC言語のソースに加えてアセンブラを組み合わせようと思っているのですが、C言語とアセンブラを組み合わせることは可能なのでしょうか?

  • C言語のプログラミングについての質問です

    C言語の課題で数値を入力したらその数に40+して二乗するプログラミングを作りたいのですがソースがいまいちわかりません どなたかご教授お願いします

  • c言語でのfscanfについて

    例えば ------------------ ほげほげ1 ほげほげ2 1,2 2,4 3,8 4,16 ------------------ というデータファイルがあったとき3行目からのデータだけを抽出するにはc言語のfscanfでどのように書けばいいでしょうか? 簡単にでかまわないので、どなたか教えてください。