• ベストアンサー

ネットの情報を自動収集するプログラムを作りたい。

インターネットでの情報収集を、プログラムで自動的に行いたいと考えています。 この場合、どのような勉強が必要なのか教えていただけませんか。おそらく何通りかの答えがあると思いますが、複数の回答を期待しています。 また、ヒントとなる主なコマンドやキーワードがあれば教えてください。自習の参考にさせていただきます。 プログラム経験は、10年以上前にBASICを多少かじった程度ですが、これを機会に、WEB関連のプログラムをがんばって勉強しようと思います。

  • ozy
  • お礼率77% (14/18)

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

ウェブサイトのHTMLを解析してデータを抜き出すことを「スクレイピング」と言います。「引っ掻き取る」という意味。 必要な機能は、 (1)ブラウザのシミュレーション(Form送信やCookie処理など)機能 (2)HTMLを解析する機能 私は、Ruby言語+Mechanize(1の機能)+Nokogiri(2の機能)でやってます。Perlで同じようなことを行うことも出来ます。 「Ruby Mechanize Nokogiri」か「Perl Mechanize」で検索するとサンプルなどがあると思います。 例えば、クレジットカードの利用明細取得サンプル。 http://d.hatena.ne.jp/otn/20090815/p1 他のアプローチとしては、VBとかVBScriptでIEを自動運転する(1の機能)。ただしVBに2の機能のライブラリがあるのかどうか知りません。 IEの自動運転はRubyでも出来るので、Ruby+IE(1)+Nokogiri(2)でも出来ますね。

ozy
質問者

お礼

「スクレイピング」というキーワードを知ることができて、視界が広がりました。 「rubyでカンタン!スクレイピング! Hpricot - 駆け抜けろ!プログラマの青春」とか 「phpによるスクレイピング処理入門」 というサイトに出会うことができて、しばらく楽しめそうです。 ほかにも有用なサイトがいっぱいありそうです。 phpでもスクレイピングができるようですが、rubyによる方法とで、到達点の違いのようなものがあるのでしょうか? もし、何かおわかりでしたら、ご教授ください。 よろしくお願いします。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

>phpでもスクレイピングができるようですが、rubyによる方法とで、到達点の違いのようなものがあるのでしょうか? PHPのスクレイピング用ライブラリはよく知りませんが、出来ることに違いはないと思います。 すでにPHPをよくご存じでない限り、PHPは薦めません。「ウェブアプリケーションにはPHPで書かれた物がたくさんある」以外の長所はないので。今後「出来合いのウェブアプリケーションに手を入れながら使いたい」ということなら知っておいて損はないです。

ozy
質問者

補足

> PHPのスクレイピング用ライブラリはよく知りませんが、出来ることに違いはないと思います。 ありがとうございます。 了解です。 > すでにPHPをよくご存じでない限り、PHPは薦めません。「ウェブアプリケーションにはPHPで書かれた物がたくさんある」以外の長所はないので。 キッパリ!ですね。 よろしければ、その理由をもう少し教えてもらえませんか? 気になります。 rubyですが、日本人が開発されたんですね。 こちらも興味津々です。 おすすめの学習方法というか、何かアドバイスがあればお願いしたいです。

関連するQ&A

  • ネット上から自動的に文字情報を収集したい

    ネット上から自動的に文字情報を収集したい WEBサイトの中から自動的に文字情報を集めるようなプログラムを作成したいのですが、何から始めてよいのかわかりません。 プログラミングの知識と経験はありますが、計算とか論理演算だけで、直接ネットワークから情報を収集するというところが私はわかっておりません。 ネットから自動的に情報収集をするという目的で、なにか覚えておくべきキーワードであったり調べる内容を提示していただけたら嬉しいです。 JavaとかC言語ならやった経験はあります。他の言語でも良いです。 参考になるサイトや参考書を教えていただけたら嬉しいです。 よろしくお願いします。

  • 情報収集用のソフト

    キーワード入力すると関連webをクロールし、 自動的に落とし込んでくれるようなソフトってないでしょうか? Googleった後の上位サイトのサイト本文を自動的に 収集するといったイメージです。 WebCrawler関連は大分探したのですが、 上記のイメージにあうものがなくて困っております。 よろしくお願いします。

  • BASICのコマンドリファレンスが欲しい

    『事務用BASIC』言語のコマンドリファレンスを探しています。どなたか、ご存知の方はいらっしゃいませんか? 出来れば、Webで公開されていると嬉しいですが…、 もちろん書籍でも構いません。 また、N88-BASIC等でも、多少似ていると思いますので、 Webでコマンドリファレンスが公開されているサイトをご存知であれば、是非教えてください。

  • システムプログラム

    最近情報科学に興味があって、システムプログラムについて1から勉強している者です。いくつかの質問のある参考書で勉強していますが、答えが書かれていないので分かりません。 用語については調べたりはしてみましたが、実世界と結びついた問題にはいまいち対応できません。まだ知識不足なので深い所までは理解できないかもしれませんが、徐々に分かっていけたらと思っておりますので、もし誰か分かる方がいらっしゃったら簡潔で結構ですので教えてください。ヒントやキーワード、考える観点だけでも構いません。 宜しくお願い致します。 1、近年プロセッサやメモリの著しい速度向上に対し、ディスクの速度向上は著しくない。仮想記憶を用いているオペレーティングシステムに対して、どのような変更を施すべきか? 2、WEBブラウザや表計算ソフトウェア等のプログラムは多くのモジュールからなり、いずれかのモジュールにおいてバグが発現した場合、プログラム全体が止まってしまう。このような問題を軽減するために、システムプログラムにおいて改善できる点は何か?また、ユーザプログラムにおいて改善できる点が何か? 3、ベクトルの要素をソートするMPIのプログラムを考える。どのようなプログラムを書けば、哲学者の晩餐問題に陥るだろうか。また、そのような問題を避けるためにはどのようにプログラムを書けばよいだろうか? 3問ともでなくとも、分かる問題があるようでしたらご投稿お願い致します。

  • 複数のJavaプログラムでデータを共有する方法について

    レベルの低い質問だとは思うのですが、相談にのってください。 Javaでコンソールプログラムを作っています。 コマンドプロンプトを複数立ち上げ、同じJAVAプログラムを同時に実行します。(プログラムは同じですが、処理内容はそれぞれ異なります。並列な処理です。) これら複数のプログラム同士でデータ(処理の進捗状況など)を共有するにはどうすればいいでしょうか。(そもそもそんなことができるのでしょうか) 今考えているのは、共有データ用のテキストファイルを1つ作り、それを各プログラムが参照(読んだり書き込んだり)する、ということ考えています。しかし、これだと複数のプログラム同士が同時にファイルを読み書きするようなタイミングがあるかもしれず、思ったような動作をしないかもしれません。 そこで、質問です。 (1)今回のような場合(コマンドプロンプトを複数立ち上げ、同じJAVAプログラムを同時に実行)で、データ共有に使えそうなトピックや方法があれば、お教えください。ヒントでもなんでもいいです。(とりあえず、ちょっとした付け焼刃でなんとか動いてほしいので……) (2)「コマンドプロンプトを複数立ち上げ、同じJAVAプログラムを同時に実行」しているのは、単に私の技術が低いからです。今後プログラムを根本的に書き直して改良するために、今後どのようなJavaのトピックを勉強すればいいでしょうか。 乱文失礼いたしました。どうかよろしくお願いします。

  • [ASP]BASICで使えたような「GOTO」は使えないの?

    こんにちわ。 過去にN88BASICなどでプログラミングをしていました。 今は、ASPでWEBプログラムを作っています。 N88BASICなどでは任意の行数に飛ばすことができる「GOTO」というコマンドがありましたが、ASPではないのでしょうか?また、そのように利用できるコマンドってありますか? Functionにしてするほかないのでしょうか??

  • 自動巡回ツールでSEO対策になりますか?

    指定URLのページ変更を自動チェックするツール(例えばWWWC)で、定期的にキーワード検索を行うことで、対象ページが検索結果上位になってくることは期待できますでしょうか? そういったWeb自動巡回ツールの内部仕様がわかりませんので、実際に検索を行っているかどうかも知りたいです。 例) googleで「キーワード1 キーワード2 企業名」を検索 アドレスに表示される長いURLをWeb巡回ツールに登録 定期的にWeb巡回させる ↓ 企業名のページが「キーワード1 キーワード2」と関連付けされ、検索結果上位になることを期待

    • ベストアンサー
    • SEO
  • Javascriptを含むHTML構文解析プログラム

    JavaとJavascriptどちらに質問すべきか迷ったのですが こちらで質問させていただきます。 Javascriptを含むWebサイトのHTMLの構文を解析して、 そのサイトに表示されるデータなどを収集するjavaプログラムを作りたいんです。 Googleなどでいろいろ検索して調べたのですが、 このようなことを解説してくれているサイトが見当たらなかったので 解説してくれているサイトだとか書籍などを紹介していただきたいのです。 また、どのように作成していけばいいのか、大まかな流れだとかヒントになるようなことを教えていただいてもうれしいです。 Javascript自体は現在勉強中なレベルなのでまずはそこからではあるんですが・・・。

    • ベストアンサー
    • Java
  • MATLABのプログラム

    インターネットのweb上のデータを読み込んでグラフ表示するといったプログラムをMATLABを用いて考えているのですが、例えばYahooのファイナンスの株価データを読み込むといった場合、どうすればよいのでしょうか? ちなみに自分はJAVAやCは多少経験済みですが、MATLABはまったくの初心者でほとんどわからない状態です。 どうか簡単でいいのでヒントになるようなことを教えていただければ幸いです。

  • javaプログラムで他言語のプログラムを動作できるのでしょうか?

    java言語を勉強しているものです。 答えが見つからないので質問させていただきます。 現在以下の2つのプログラムを作成し動作確認をしました。 1:カメラの画像を保存する   プログラムの言語はBasicとC++が推奨されていたので、今回はBasicでプログラムを作成しました。 2:保存した画像をAppletでスライドショーにして見せる   プログラム言語はjavaです。 理想的な動作はリアルタイムな画像を次々に見せることです。 そこで、2で作成したプログラムの中に1を動作させる機能を持たせたいのですが、実現可能でしょうか? 知っている方がいましたら、御指導をお願いいたします。

    • ベストアンサー
    • Java

専門家に質問してみよう