人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

プログラムに関しての質問です。

当方、プログラム初心者ですが、どうしても作ってみたいプログラムがあります。

yahooやgoogleなどのサーチエンジンがありますが、ここの検索ワードに言葉を入れて検索すると1?10位までの検索結果が表示されます。

そこで、ソフト上で言葉を入れるとその言葉に対する1?10位までのindex.htmlを自動的に読み込み、日本語の文章のみを抜き出してきてくれるプログラムが作りたいのです。

こちらが現在使えるのはPerl,PHP,とjavaが少しできます。

なにか、良いアイデアはないでしょうか?

●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTML INDEX Java Perl PHP
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Questy
●27ポイント

((なにか、良いアイデアはないでしょうか?))

この文章だと、正直何がやりたいのか、さぱーり

まずは自分のやりたい事を 誰でも判りやすく短く 簡潔に 正確に記載する

これができないと、次のステップのプログラムに落とし込みができないって

師匠がいってました

◎質問者からの返答

すいません、精進いたします。

これでも、なんとかわかりやすくしたつもりなのですが。


2 ● o0o0o0o0o
●27ポイント

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";

}

◎質問者からの返答

おおおー!!!!!

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

さっそくやってみます!


3 ● takfjt
●26ポイント

# 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

タグ要素を抽出し削除すればよいでしょう.

◎質問者からの返答

細かい点までありがとうございます!

まさにこれです!

たすかりました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ