About

ドキュメント

各種設定

Built by Maven

セットアップ

S2Robot は、簡易的に利用するためにクロールしたデータをメモリ上に保存する方法と、s2robot-db を利用して DB に永続的に保存する方法があります。

クロール結果データの保存にメモリを利用する場合

この方法は手軽に S2Robot を利用したい場合におすすめです。 クロール結果のデータをメモリを利用しているので、簡単に S2Robot を利用することができます。

Maven 2 を利用している場合は、pom.xml に s2-robot を以下のように指定します。

  <dependencies>
    :
    <dependency>
      <groupId>org.seasar.robot</groupId>
      <artifactId>s2-robot</artifactId>
      <version>0.4.2</version>
    </dependency>
    :
  </dependencies>

Maven 2 以外で利用する場合は、s2-robot および 依存関係 を参照して、必要な jar ファイルを追加してください。

あとは、app.dicon などの dicon ファイルで s2robot.dicon を include します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
    "http://www.seasar.org/dtd/components24.dtd">
<components>
    :
    <include path="s2robot.dicon"/>
    :
</components>

この方法の場合、クロールできるファイル数は利用しているメモリ量に依存します。 また、実行しているプログラムの終了時にクロール結果のデータは失います(利用しているプログラム側で保存する必要があります)。

クロール結果データの保存に DB を利用する場合

この方法は、大量にクロールする必要が場合などに適しています。 クロール結果の保存は DB を用いて行います(デフォルトでは H2Database を利用します)。

Maven 2 を利用している場合は、pom.xml に s2-robot-db を以下のように指定します。

  <dependencies>
    :
    <dependency>
      <groupId>org.seasar.robot</groupId>
      <artifactId>s2-robot-db-h2</artifactId>
      <version>0.4.2</version>
    </dependency>
    <dependency>
      <groupId>org.seasar.robot</groupId>
      <artifactId>s2-robot-db</artifactId>
      <version>0.4.2</version>
    </dependency>
    :
  </dependencies>

Maven 2 以外で利用する場合は、s2-robot、s2-robot-db、s2-robot-db-h2 および 依存関係 を参照して、必要な jar ファイルを追加してください。

利用する DB を用意します。デフォルトでは H2Database を利用するので、プロジェクトのトップディレクトリなどにコピーしてください。 最新のデータはここから取得できます。

また、H2Dataaseでなく、MySQLを利用する場合はDDLを利用してテーブルを作成して、s2-robot-db-h2の代わりにs2-robot-db-mysqlを利用してください。

次に app.dicon などの dicon ファイルで s2robot_db.dicon を include します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
    "http://www.seasar.org/dtd/components24.dtd">
<components>
    :
    <include path="s2robot_db.dicon"/>
    :
</components>

s2robot_jdbc.dicon を作成します。 クロール結果を保存する DB 情報を記述します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
    "http://www.seasar.org/dtd/components21.dtd">
<components namespace="jdbc">
    <include path="jta.dicon"/>

    <!-- for H2 -->
    <component name="xaDataSource"
        class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
        <property name="driverClassName">
            "org.h2.Driver"
        </property>
        <property name="URL">
            "jdbc:h2:file:"
                + new java.io.File('.').getCanonicalPath()
                + "/db/robot;DB_CLOSE_ON_EXIT=FALSE"
        </property>
        <property name="user">"sa"</property>
        <property name="password"></property>
    </component>

    <component name="connectionPool"
        class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
        <property name="timeout">600</property>
        <property name="maxPoolSize">10</property>
        <property name="allowLocalTx">true</property>
        <destroyMethod name="close"/>
    </component>

    <component name="DataSource"
        class="org.seasar.extension.dbcp.impl.DataSourceImpl"
    />

</components>

上記の場合はカレントディレクトリ下に db ディレクトリを作り、その中に robot という H2Database の DB を作成した場合になります。

以上で、ご利用のプロジェクトで S2Robot を利用することができます。