[ruby-list:49039] Re: [ruby-list:49030] Re: スクレイピングツール
From:
"TAKANO `takano32' Mitsuhiro" <tak@...32.tk>
Date:
2012-12-04 02:56:26 UTC
List:
ruby-list #49039
たかのです。 個人的に Mechanize / Selenium はスクレイピングのツールというより、 自動巡回のために使う用途が多いです。 スクレイパーとしては Nokogiri をよく使ってます。 Mechanize / Selenium などで目的のページまできたら body から Nokogiri で 必要な部分を取り出す、みたいなコードをよく書きます。 巡回といえば、テスト自動化のために使われる Capybara も便利です。 JavaScriptの評価が必要なときは WebDriver を Selenium としたり、 とくに必要がないときは Mechanize を WebDriver に使う、など Capybara で書いておけば必要に応じて WebDriver が変更できるので 良い感じです。 参考になれば。 2012年12月3日 18:13 トゥイー <toy@ownway.info>: > はじめまして、トゥイーと申します。 > > 自分もスクレイピングのツールを探したり/使ったりしています。 > > 基本は Ruby 版の Mechanize で足りています。 > > 他の言語との違いはわかりませんが、 > このメーリングリストでの回答は Ruby のを使ってください!!! > が妥当な回答じゃないかなぁと個人的に思いましたので、 > そう回答させてもらいます(笑) > > しかし、自分の知る限り Mechanize では JavaScript の部分が扱えないため > jQuery などの JavaScript 技術が発展する昨今、できないことが増えてきて少し困っています。 > > Selenium を使うと JavaScript にも対応できるというのをどっかのサイトで見たので、 > これから Selenimu を覚えようかと思っています。 > Selenium は Firefox 版もありますが、言語からの操作もできるそうです。 > 各言語用にライブラリもあるらしいので、自分はもちろん Ruby 版を使おうと思っています。 > > まだ Selenium は覚えていないのですが、 > JavaScript の必要性によって、Mechanize/Selenium を選択しようと考えています。 > > ただ、Selenium でどこまでの JavaScript が扱えるのかというがわからないので、 > やってみないとわからないというのが今の僕の状態です。 > > 自分も気に掛けている内容だったので、投稿させていただきました。 > > > トゥイー:toy@ownway.info > http://www.ownway.info/Ruby/ > > > -----Original Message----- From: Naoki Oshiro > Sent: Monday, December 03, 2012 5:36 PM > To: ruby mailing list > Subject: [ruby-list:49029] スクレイピングツール > > > 大城と申します。 > > Webスクレイピングツールを探しており、Mechanizeというのでそれが実現できそうなのですが、元がperlで書かれたツールのようで、ruby版やpython版もあるということのようです。 > > 検索で出てくる更新日付ではどうもruby版が2012年、python版が2011年、perl版が2004年?のよう(←さらに検索していたら個人の方のページで2012年版があるようでした)なんですが、それぞれ独自の機能もありそうで、どれを選べばいいのかよくわかりません。 > > [Ruby] > http://mechanize.rubyforge.org/ > mechanize-2.5.1 (ruby, 2012/5) > (githubでは404エラー) > http://rubygems.org/gems/mechanize > mechanize | RubyGems.org | your community gem host > http://d.hatena.ne.jp/kitamomonga/20111128/ruby_mechanize_2_1_pre1 > Ruby Mechanize 2.1.pre.1+ - きたももんががきたん。 > http://www.chadcf.com/blog/using-capybara-javascript-capable-replacement-mechanize > Using capybara as a javascript capable replacement for Mechanize | chadcf > > [Python] > http://wwwsearch.sourceforge.net/mechanize/ > mechanize-0.2.5 (python, 2011/3) > http://coreblog.org/ats/using-mechanize-to-automate-web-access > pythonモジュールmechanizeでWeb上の作業を自動化する | TRIVIAL TECHNOLOGIES @ats のイクメン日記 > http://bugrammer.g.hatena.ne.jp/nisemono_san/20111204/1322932616 > BeautifulSoup、Mechanizeでおいしくデータをすする -- PythonによるWebスクレイピング - 蟲!虫!蟲! > - #!/usr/bin/bugrammer > > [Perl] > http://search.cpan.org/~jesse/WWW-Mechanize/ > Jesse Vincent / WWW-Mechanize - search.cpan.org 1.72 (2012/2) > http://blog.remora.cx/2010/10/get-pasmo-history-with-perl.html > 【Perl】WWW::Mechanize と Web::Scraper で PASMO の利用履歴を得る(その) - blog.remora.cx > > http://search.cpan.org/~sprout/WWW-Mechanize-Plugin-JavaScript-0.010/lib/WWW/Mechanize/Plugin/JavaScript.pm > WWW::Mechanize::Plugin::JavaScript - search.cpan.org > http://blog.kzfmix.com/entry/1299066556 > WWW::Mechanize::Firefox > > もしよろしければ以下について教えて頂きたいのですが、いかがでしょうか。 > > 1.どのツールも大差ない、のか、あるいは(3言語中で最新らしき)2012年版があるRuby一択か。 > > 2.Mechanize以外に、他のおすすめスクレイピングツールはないか。 > > (selenumというFirefoxのプラグインの紹介も出てきましたが↓) > > http://hatakazu.hatenablog.com/entry/2012/06/10/083928 > 【技術】mechanizeに変わる方法を考えてみた - はたけアーカイブ > > ちょっと、中途半端な質問ですみませんが、どうぞよろしくお願いします。 > > ↓その他:php,java版など > > http://stackoverflow.com/questions/11399883/ruby-or-perl-or-python-for-webcrawler-and-search-engine > Ruby or Perl or Python for webcrawler and search engine - Stack Overflow > > http://www.compasswebpublisher.com/php/www-mechanize-for-php > WWW::Mechanize for PHP > > http://gistlabs.com/software/mechanize-for-java/ > Mechanize for Java | Gist Labs 0.11.0 (Java, 2012/11) > http://stackoverflow.com/questions/2867499/mechanize-for-java > perl - mechanize for Java - Stack Overflow > http://answers.yahoo.com/question/index?qid=20100618005703AAHyFsH > Is there a Java equivalent to Ruby Mechanize? - Yahoo! Answers > > -- > ============================================= > OSHIRO Naoki: oshiro@mibai.tec.u-ryukyu.ac.jp > http://mibai.tec.u-ryukyu.ac.jp/~oshiro/ >