HTTP通信を用いてhtmlファイルを取得・保存するプログラムを作成したいです。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
helloworld
記事: 6
登録日時: 9年前

HTTP通信を用いてhtmlファイルを取得・保存するプログラムを作成したいです。

#1

投稿記事 by helloworld » 9年前

はじめまして。
HTTP通信を用いてhtmlファイルを取得し、文字列抽出、指定したディレクトリに保存するプログラムを作成したいです。
Linux上で動作させたいです。
/Desktop/A/1_山田
ディレクトリに保存したいです。
サンプルとなるようなプログラムを教えていただけないでしょうか?

抽出の対象は
○○○○○○○○○○○○.jpの

コード:

1 <html>
2 <head>
3 <META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
4 <title>ホームページ</title>
5 </head>
6 <frameset rows="180,*" cols="*" frameBorder="0">
7 <frame name="Titke" src="DataListTitle.php?MstCode=01234567&Time=2016062912" scrolling="no">
8 <frame name="Hyou" src="DataListHyou.php?MstCode=01234567&Time=2016062912" scrolling="yes">
9 </frameset>
10 <noframes></noframes>
11 </html>
 

のリンク先の

コード:

 
"DataListHyou.php?MstCode=01234567&Time=2016062912" 
 

データです。

コード:

 
"DataListHyou.php?MstCode=01234567&Time=2016062912" 
 

コード:

 
"DataListHyou.php?MstCode=01234567&Time=
 

以降の文字は数字・全角・半角・文字数あらゆる場合において対応できるようにしたいです。

さらに、そのリンク先のファイルの

コード:

 
<tr align="right">
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列></td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列></td>
<td 任意の文字列></td>
</tr>

<tr align="right">
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列></td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列></td>
<td 任意の文字列>ここに存在する文字列</td>
<td 任意の文字列></td>
<td 任意の文字列></td>
</tr>

<tr align="right">
~省略~
 


ここに存在する文字列(半角・全角・数字・アルファベットあらゆる文字列に対応かつ、文字化けしない)
です。
よろしくお願いします。

mikko

Re: HTTP通信を用いてhtmlファイルを取得・保存するプログラムを作成したいです。

#2

投稿記事 by mikko » 9年前

ネットワークのプログラミングについては下記が参考になるかと
http://www.geekpage.jp/programming/linu ... client.php
スクレイピングについては、求められる複雑さや汎用性によっていくつかの切り口が考えられますが、pcre などの正規表現ライブラリ等を用いてみてはいかがでしょうか。
文字コードについては iconv あたり使うのが常道かと思いますが、求められる汎用性によっては Content-Type で宣言されている文字コードと実際の文字コードが異なるというような事は良くありますので、実装する上では注意が必要になるでしょう。

閉鎖

“C言語何でも質問掲示板” へ戻る