プロが教える店舗&オフィスのセキュリティ対策術

特定のウェブサイトから、定期的にある箇所の文字列を取得して、
リスト化するプログラムを作りたいと思っています。

例えば、

 Yahoo!スポーツのプロ野球の所の個人成績のページから打率トップ5の選手名と
 打率を毎日0時に自動的に取得してリスト化する

といった感じです。

こういったプログラムを作る場合どういった知識が必要になるのでしょうか?
私はCとC++の基本程度しか理解していないので、そのあたりを基礎に出来ればいいのですが。
C(C++)は、シンプルなフォームアプリケーションの世界時計が作れるくらいのレベルです。

それから、こういったプログラムを作る上で参考になる本やウェブサイトがあれば
教えていただきたいと思っています。

CやC++を基礎にしたいという事で、このカテゴリに質問させていただきましたが、
カテゴリ違いになってしまっていたら申し訳ございません。

A 回答 (2件)

C言語が少しでもわかるなら、文字列の操作が結構面倒だってことは実感しているかと思います。


C++でstd::string等のクラスを使うと大分マシになりますが。

ご希望のような処理は「スクレイピング」と呼ばれています。

C/C++でも、勿論可能です。ただ、様々な文字列操作が必須ですので、どちらかと言えば、Cの苦手な分野です。

PHP,Perl,Ruby,Python等と言った言語は、文字列操作を得意としています。これらの言語でやるならば、参考になるサイトや参考書もたくさんあります。


まず、方針を決めましょう
・C/C++言語の技術を高めて、C/C++言語でやる。
参考書はほとんど無いが、「やり方」は他言語と同じなので、他言語の参考書やサイトから「やり方」だけを参考にする。
・スクレイピングが得意な言語を勉強してそちらでやる。
Cを知っている分、一からやるよりはましだが、それでも新しい言語の作法など覚えることは多い
    • good
    • 0

Everyday Scripting with Ruby: For Teams, Testers, and You



という本に、アマゾンの本のタイトルとかをとる例があります。今の場合は Ruby での話です。
訳本も出てるんで、日本語でも読めます。

page = fetch(url)

page にurl で指定したページの内容を入れて、この中から欲しい情報を取り出します。


def fetch(url)
open(url, 'User-Agent' => 'ruby') { | response |
response.read
}

がfetch の内容ですが、open-uri というライブラリをつかっています。




実際、hep-th などの 数学や物理のプレプリントサーバーからファイルとって来た際、その論文のタイトルをファイル名から自動的にサイトに行って、拾ってくれるように書き換えて重宝しています。




ただ、気をつけないと、そのサイトに、何回もアクセスするような、失敗をやらかすと そのサイトから、IPアドレスにブロックがかかったりしますから、要注意です。
    • good
    • 0

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