You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
selenium と ruby を使ってブラウザ GUI 操作を自動化する。 selenium は、Web アプリケーションの自動テストのためのツール。 レグレッションテストによく使われているようだ。 selenium は、ブラウザ操作シナリオを事前に設定して、シナリオ通りに実行してくれる。 シナリオ設定といっても、Firefoxプラグインの Selenium IDE などを使うと操作を 記録してくれる機能があるのでそこまで大変ではない。 詳細は、Ruby アソシエーション – selenium の “1.2 テストの作成” あたりを参照してほしい selenium は、クロスブラウザのツールで、IE を使って IE限定みたいなサイトでも使える。 IE や Chrome で使うには各 Selenium WebDriver が必要となる。 テスト用と言いつつ、使い道はいろいろとある。 社内の
昨日ですが、いつもお世話になってるCo-Edoで第1回クローラー開発勉強会を行いました。 クローラー開発というニッチなテーマのものをなぜ開催しようと思ったのかというと モバイラーズオアシスの中の人であるもぎゃさんから、モバイラーズオアシスで使っていたスクレイピングライブラリについてちょっと意見を聞かせて欲しいっていう話をメッセでもらった 実際にCo-Edoで会ってもぎゃさんと色々とクローラーの話をしてたら、互いにあるあるネタが結構満載で、きっと似たような経験ある人が他にもいるんじゃね?っていう感じになり、それなら何かイベントしましょう っていうのがきっかけでした。 発表資料など もぎゃさんの発表資料はこちら 昨日は時間の都合で技術的な深いところは触れなかったので、そちらについて深く知りたい方むけのスライドとして実践スクレイピングを紹介されてました 自分はこちら 昨日気づいたけどSlideS
Exhibiの内部的な話を書こう書こうと思って忘れてた。とりあえずMechanizeについて。 Mechanizeはスクレイピングを楽にしてくれるRubygemsです。ExhibiではMechanizeを使ったスクレイピングのRakeタスクを作成し、それを日次で実行することで、各美術館のサイトから展覧会情報を抽出しています。抽出した情報がDB内に存在していれば無視。存在しないのならDBに追加。こういうクローリングに関しては、ちょうど時同じくしてRubyのクロール入門本が去年出たんですけど未読です。技術的な話のみならず、人様のサイトへ機械的にアクセスする際のお作法的なことも載っているらしく、いつかは読みたいところ。 Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例posted with amazlet at 15.02.07るびきち 佐々木 拓郎 SBクリエイティブ 売り
こんにちは! 見た目30歳の新卒1年目中野です。 今回は社内でクローラーについて勉強会を行ったので、その内容について記事を書きました。 クローラーとは、WebページからHTMLを解析して周期的に情報を収集する技術です。 初心者向けの内容となっていますので、クローラーに興味があってやってみたい!という人に読んでいただきたいなと思います。 Anemoneによるクローラー入門 from Tasuku Nakano クローラーとスクレイピングについて まずはクローラーについて説明していきます。 ただ、その前にスクレイピングという技術もあるので先にそちらを説明します。 ご存知かと思いますが、スクレイピングとは、WebページのHTMLを解析してデータを抽出することです。スクレイピングはWebページ1ページに対して処理を行います。 一方クローラーは、Webページ内にある全てのリンクを巡回して、深堀りしな
CocProxyというツールがあります。名前の通りプロキシサーバーなのですが、用途が開発用です。置換プロキシと言うらしいですが、これがとっても便利です。例えば、クローラーの開発や、HTML,CSS,JavaScriptの修正をする際に、このCocProxyを利用するとダウンロード待ちのイライラが解消され、効率アップ間違いなしです。ローカルのみで完結するのと、Webへのアクセスが必要とするのでは、スピードが数十〜数百倍違います。一回だけでみたら、数百ミリSecの差ですが累積で考えると大きいですよ。 CocProxyとは? Ruby製のProxyServerです。かつ標準ライブラリで動くことを目標としているので、Rubyの環境があれば、ダウンロードして直ぐに使えます。また基本的には1ファイルで完結するので、導入も簡単です。Ruby1.9をベースにしていますが、Ruby 2.0でも特に問題なく動
シリーズの如く何度かAnemoneの話を書いています。Anemoneは割りと小さなモジュールなので、ソースを読めば直ぐに解ることが多いです。一方で、ドキュメントが充実しているとは言い難いので、少し違うことをしようとすると、ソース嫁という状態になります。今回のエントリーもそんな話の一つです。 デフォルトストレージを変更する Anemoneのデフォルトストレージのデフォルトオプションは、nilです。この場合、どういう動作をするかというと、Anemone::Storage.Hashが指定されます。つまりメモリーです。当然ながらクロール量に比例してメモリの使用量が増えます。そうすると、当然動いている端末もしくはサーバのメモリーを圧迫していくという結果になります。 当然望ましくないので、本格的に使用する場合はストレージを変更した方が良いでしょう。Anemoneはストレージのオプションが豊富で、PSt
最近のRubyのクローラーは、EventMachineを使って並列化するのが流行のようです。EventMachineは、非同期処理をお手軽に実装できるフレームワークです。Rubyのスレッド機能との違いは、Reactorパターンを使いシングルスレッドで実装している点です。こちらのブログが詳しいので参考になります。 「見えないチカラ: 【翻訳】EventMachine入門」 EventMachineを使うと、イベント・ドリブンの処理を簡単に実装出来ます。使い方は簡単ですが、通常の同期処理やスレッドをつかった処理に比べると、どうしてもコードの記述量は多くなります。今回の例である並列化してクローラーを走らせるという用途であれば、短時間で多くのサイトにアクセスするのが目的です。イベント・ドリブンで並列化処理を実装するのが目的ではないはずです。その辺りの面倒くさい処理を実装したライブラリがcosmic
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く