当方、プログラム初心者ですが、どうしても作ってみたいプログラムがあります。
yahooやgoogleなどのサーチエンジンがありますが、ここの検索ワードに言葉を入れて検索すると1~10位までの検索結果が表示されます。
そこで、ソフト上で言葉を入れるとその言葉に対する1~10位までのindex.htmlを自動的に読み込み、日本語の文章のみを抜き出してきてくれるプログラムが作りたいのです。
こちらが現在使えるのはPerl,PHP,とjavaが少しできます。
なにか、良いアイデアはないでしょうか?
((なにか、良いアイデアはないでしょうか?))
この文章だと、正直何がやりたいのか、さぱーり
まずは自分のやりたい事を 誰でも判りやすく短く 簡潔に 正確に記載する
これができないと、次のステップのプログラムに落とし込みができないって
師匠がいってました
perlでしたら、こちらが参考になります。
http://homepage3.nifty.com/hippo2000/perltips/LWP.html
下記は、そこに載っているサンプルプログラムですが、
少し改造すれば、googleをたたいて結果をテキスト出力することは、わりに簡単だと思います。
# ユーザ・エージェント オブジェクトを作成します
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$ua->agent("AgentName/0.1 " . $ua->agent);
# リクエストを作成します
my $req = new HTTP::Request POST => 'http://www.perl.com/cgi-bin/BugGlimpse';
$req->content_type('application/x-www-form-urlencoded');
$req->content('match=www&errors=0');
# ユーザ・エージェントにリクエストを渡し、返されたレスポンスを取得します
my $res = $ua->request($req);
# レスポンスの結果をチェックします
if ($res->is_success) {
print $res->content;
} else {
print "Bad luck this time\n";
}
おおおー!!!!!
回答ありがとうございます!
さっそくやってみます!
# Perlメインで書きます.
目的を達成するためのおおまかな手順は,
を繰り返すことになります.
◆サーチエンジンから検索
Perlであれば,以下のページなどが参考になると思います
http://www.geekpage.jp/programming/perl-network/simple-http-clie...
PHPやJavaもだいたい同じようにしてできます.
HTTPをあつかうライブラリもあるでしょうが,
今回の目的であれば,上記URLのようにしたほうが簡単だと思います.
検索結果の解析は,パターンマッチングによって行うことができます.
また,Googleに限って言えば,Google APIがありますので,
それを使う方法もあります.
Perlでは下記のようなライブラリが使えます.
http://search.cpan.org/~bstilwell/Net-Google-1.0.1/
このようにシンプルに検索結果が取得できるようです.
http://search.cpan.org/~bstilwell/Net-Google-1.0.1/lib/Net/Googl...
◆上位10ページの日本語を取得
検索結果からうまくURLを抽出できたら,
上に上げたHTTPクライアント(1つ目のURL)によってページを取得します.
そして,日本語以外の要素を,やはりパターンマッチングで消去します.
ただし,日本語の抽出は非常に難しいです.
具体的には,下記のページを参考にして
http://www.din.or.jp/~ohzaki/perl.htm#JP_Match
日本語を正確に識別して,それ以外を排除しなければなりません.
もし,そうではなく,HTMLタグが邪魔というのであれば,下記ページを参考にして
http://www.din.or.jp/~ohzaki/perl.htm#HTML_Tag
タグ要素を抽出し削除すればよいでしょう.
細かい点までありがとうございます!
まさにこれです!
たすかりました!
すいません、精進いたします。
これでも、なんとかわかりやすくしたつもりなのですが。