Help us understand the problem. What is going on with this article?

スクレイピングツールの作成_5

More than 5 years have passed since last update.

今週は出向作業が忙しく、本番環境へアプリケーションをアップロードしてテストする、というのがまだ出来ていません。今日の夜にテストをしてみる予定ではありますが。。

今回の取り組みではデータ収集の高速化のみ対象としているので、本来のテストツールとしての使い方にそぐわないかと思っています。ですが、内部構造を知らないでチューニングも何もあったもんじゃありません。なので勉強を兼ねて書いてみようと思います。

考えている仕組みは、Selenium::Remote::Driver(以下S::R::D)でPhantomJSを操作してブラウジングを行い、遷移先のレンダリングされたHTMLソースからWeb::Scraper でデータを収集することです。

PhantomJS はヘッドレスドライバ(GUIを持たないブラウザみたいなもの)なので、外部プログラムからうまいこと操作してやればGUIを起動させずに自動ブラウジングが可能になります。そして今回外部プログラムに選んだのがS::R::D なわけです。

理由としては、単純にPerlでやりたかっただけです。以前ホームページにお問い合わせフォームを設置する関係でPerlを触ったとき、コードの芸術性や思想哲学に非常に共感できましたし何より書いていて気持ちよかったです。

少し話が外れますけど、自分は最初に入った会社でJavaの研修を受けてプログラミングに挫折した人間なので、書いていて楽しいPerlでやりたいというのが本音です。

さて、PhantomJSは確かにGUIも無いので描画の分だけ高速化できます。でも、データを取りたいサイトがAjaxを多用していたりするとページの読み込みが完了するまで待つ必要が出てきます。これが意外と痛かったりする。

欲しいデータが100あったとして10取るのにページ遷移あたり5秒かかるなら、50秒。

こんなサービス使いたいわけないですよね?(笑)

それじゃあどうしよう、というのが今の課題です。

ともあれ、下記のブログを見ながら色々勉強中です。
http://www.ivaturi.org/

omokawa_yasu
Perlのカルチャーが好きです。 オンプレサーバ構築4年、株式会社の社長8年やってました。
https://omokawa765.hatenablog.com/
sight-visit
資格のオンライン予備校「資格スクエア」, 契約管理サービス「NINJA SIGN」を運営するスタートアップ
https://sight-visit.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした