漠然とした質問を致します。


はてな や ミクシー、いろんなサイトがあります。通常、このサイトは人の手でマウスを動かして閲覧しますが、これらをプログラムで行うことは可能なのでしょうか?

たとえば、IDとPASSを入れ込んでログイン、そのまま日記のページ全てを閲覧して保存、といった感じです。
おそらく自分の予想では可能だと思うのですが、それが可能だとした場合、プログラム言語は何を使うのが最もよいのでしょうか?(JAVAかな・・・?)

もし自動で、動いてくれるプログラムの作り方や解説などのサイト、もしくはそれらが書かれている書籍などがありましたらご紹介ください。

最終的に一定時間ごとにIDとPASSを入れ込んで目的のサイトにアクセス、POSTを投げ、目当てのデータを受け取る………といったことがやりたいです。

回答の条件
  • URL必須
  • 1人10回まで
  • 登録:
  • 終了:2010/03/05 15:10:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:garyo No.4

回答回数1782ベストアンサー獲得回数96

ポイント24pt

Rubyで紹介すると

  • watir

http://watir.com/

IEを自動操縦


ブラウザテストをRubyで自動化「Watir」

http://www.moongift.jp/2007/09/watir/

  • Selenium

http://seleniumhq.org/

操作をRubyで記録してくれます。


  • Ruby Scraping

http://route477.net/rubyscraping/

ここらへんに色々載っています。


RubyによるWeb Scrapingライブラリの情報をまとめるためのWikiです。

Nokogiri

HTMLをjQuery風に操作するライブラリ。Hpricotの書き直し版

Hpricot

HTMLを「Rubyらしく」扱うライブラリ

Mechanize

Webサイトへ自動でアクセスするためのライブラリ

scRUBYt!

DSLを使って簡単にスクレイピングを行うライブラリ

feedalizer

htmlからRSSフィードを作るのに役立つライブラリ

scrAPI

パーサを定義することでHTMLを解析するライブラリ

また、はてなやmixiはAPIがあるので、そちらで可能なことであればAPIを使った方が楽です。

http://d.hatena.ne.jp/tt_clown/20080823/p1

http://d.hatena.ne.jp/LukeSilvia/20080809/p1

その他の回答5件)

id:matsubobo No.1

回答回数20ベストアンサー獲得回数3

ポイント16pt

広く言えば、どんな言語でも可能です。

一般的に、PHP、Java、Ruby、PerlなどならHTTP通信やCookieを簡単に扱うためのライブラリが用意されているので、自分ではプログラムのロジックを書くのみで実装できると思います。


例えば、これらのHTTPクライアントを利用する。

Javaならこれ:

http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/h...

PHPならこれ:

http://pear.php.net/package/HTTP_Request2

id:sabuibo No.2

回答回数266ベストアンサー獲得回数20

ポイント16pt

AutoMouse

http://www.vector.co.jp/soft/win95/util/se074062.html

画面上の画像をキーに、マウスやキーボード操作を自動化できます。

ブラウザの外(スタートボタンなど)も操作可能です。

認証画面が出たらID欄へマウスを移動し、IDを入力、パスワードも同様に入力してログオンボタンをクリックなどの動作ができると思います。

id:taknt No.3

回答回数13539ベストアンサー獲得回数1198

ポイント24pt

http://download.goo.ne.jp/software/category/win/util/operate/

自動化するソフトがあります。

また IDとパスワードを入れるだけならば ロボフォームなどのソフトもあります。

http://www.roboform.com/jp/

通常、自動化のプログラムを作る場合、SendKeysというものを用いることがありすまね。

http://www.javaroad.jp/bbs/answer.jsp?q_id=20061212035623540

id:garyo No.4

回答回数1782ベストアンサー獲得回数96ここでベストアンサー

ポイント24pt

Rubyで紹介すると

  • watir

http://watir.com/

IEを自動操縦


ブラウザテストをRubyで自動化「Watir」

http://www.moongift.jp/2007/09/watir/

  • Selenium

http://seleniumhq.org/

操作をRubyで記録してくれます。


  • Ruby Scraping

http://route477.net/rubyscraping/

ここらへんに色々載っています。


RubyによるWeb Scrapingライブラリの情報をまとめるためのWikiです。

Nokogiri

HTMLをjQuery風に操作するライブラリ。Hpricotの書き直し版

Hpricot

HTMLを「Rubyらしく」扱うライブラリ

Mechanize

Webサイトへ自動でアクセスするためのライブラリ

scRUBYt!

DSLを使って簡単にスクレイピングを行うライブラリ

feedalizer

htmlからRSSフィードを作るのに役立つライブラリ

scrAPI

パーサを定義することでHTMLを解析するライブラリ

また、はてなやmixiはAPIがあるので、そちらで可能なことであればAPIを使った方が楽です。

http://d.hatena.ne.jp/tt_clown/20080823/p1

http://d.hatena.ne.jp/LukeSilvia/20080809/p1

id:jccrh1 No.5

回答回数111ベストアンサー獲得回数19

ポイント15pt

私はVBAでやっています。

マイクロソフトオフィス(EXCEL・WORD等)のVBAを使って、Internet Explorerをコントロールするか、

コントロール・ツールボックスの部品でWebBrowserを使用すれば可能です。

 

IDとPASSの入力やクリック、データの取得は表示した内容をDocumentオブジェクトを使って対応出来ます。

http://makotowatana.ld.infoseek.co.jp/vba_internet.html

【IEを使用した「はてな」のログインサンプル】
※"ID","PASS"を訂正して下さい。
Sub Login()
    Dim objIE    As Object
    Set objIE = CreateObject("InternetExplorer.application")
    With objIE
      .Visible = True
      .Navigate "https://www.hatena.ne.jp/login"
      Do While objIE.Busy = True: Loop
      Do While objIE.document.ReadyState <> "complete": Loop
      .document.all.Name.Value = "ID"
      .document.all.Password.Value = "PASS"
      .document.all.Item(43).Click
    End With
End Sub
id:doumoto No.6

回答回数497ベストアンサー獲得回数37

ポイント15pt

ヤフオクとmixiで出来ましたというか、しましたよ。(´ー`)y-~~。

http://q.hatena.ne.jp/1242080378

phpの場合、PEAR::HTTP_Clientを使うのがキモです。

  • id:zachouR
    みなさん、ありがとうございました! 大変参考になりました、また質問することがあると思いますのでよろしくお願いいたします!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません