アプリ版:「スタンプのみでお礼する」機能のリリースについて

指定したURLのWebページからアンカータグを収集するプログラムを作成したいです。

JavaやPerlならば作成できるのですが、Visual C++で開発しなければならず、この経験がないために本当に困っています。

作りたいものはURLを与えると、そのURLのWebページのHTMLを見て、アンカータグ<a href="...">~</a>を収集して取り出すコンソールプログラムです。

もしソースがあればソースをいただきたいのですが、とにかくいろんな情報をいただきたいです。

よろしくお願いします。

A 回答 (3件)

実は昔、作ったことがありますね。



ソースは今、手元にないですが・・・

Socketを作って、port80(HTTPのポート)で接続、
GETだったかなんだかを送る(send)と、もってこれ(recv)ます。
あとはそれを解析。

まぁ、たいして難しくないので、web見ながらやれば出来るでしょう。

参考URL:http://home.a03.itscom.net/tsuzu/programing/tips …

この回答への補足

回答と参考Webページをありがとうございます。

一応、URLを指定してHTMLを取ってくるプログラムは見つけたのですが、見つけるのにも結構苦労しました。『猫でもわかるネットワークプログラミング』というのに書いてありました。

アンカータグの解析も結構難しいと感じているですが・・・。Webを調べてIHTMLDocument2とか、innerHTMLなるものなどを見つけたのでこれらを使いたいです・・・。

補足日時:2006/01/12 22:02
    • good
    • 0

WinInetはここで初めて知ったのですが、


MSのページに両者の比較がありました。

WinCEのケースですが、Windows全般に言えることだと思います。

要は、WinInetがWinSockを使っているということで、
より簡易になっているが、機能が限定されているようですね。

お求めのPGMでは、WinInetの方が良いのでは?

ただし、WinInetはIE3.0環境が必要のようです。
WinSockは、OSにより使用できるバージョン、DLLが
違います。(#1参照)

要件定義する際に、どの環境をターゲットとするかに
より、決定すれば良いのではないですか?

参考URL:http://www.microsoft.com/japan/msdn/library/defa …
    • good
    • 0
この回答へのお礼

再びの回答、ありがとうございます。

参考URLから知識を得ることができました。結局、現状では環境はそれほど影響しないことから、容易なWinInetを選択しました。

お礼日時:2006/01/23 22:06

がると申します。


んっと…HTMLはとって来れそうなので、その後の「文字列(HTML)からアンカーエレメントを探し出す」方法を。
Visual C++で、との事ですが。もし.netが使える環境であれば、正規表現クラスが存在していたかと思います。
ですので、正規表現で探し出せばOKかと。
もし正規表現ライブラリが使えない状況であれば…状態遷移プログラムが書ければ比較的簡単なのですが。
googleあたりで、状態遷移とかオートマトンとかって検索すると色々出てくるかと思います。

この回答への補足

回答ありがとうございます。

いろいろと調べてboostなるものを発見して、このboostの正規表現を使うことにしました。

まだHTMLを取ってくるプログラムと組み合わせていないのですが、正規表現プログラムのほうではアンカーエレメントが取れました。

ところで、HTMLを取ってくる方法を2つ知りました。WinsockとWinInetなんですが、どちらがいいですか?

知っている方がいらっしゃいましたら回答をよろしくお願いします。

補足日時:2006/01/16 13:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!