[Seasar-user:21701] Re: S2RobotでリダイレクトURLと元ページの関連性の取得について

kubo [E-MAIL ADDRESS DELETED]
2013年 8月 22日 (木) 20:57:02 JST


久保(jflute)です

菅谷さん、ありがとうございます。
こちらで取り込んで確認中です。
確認報告が来週になってしまいそうですが、
また連絡いたします。


2013/8/21 Shinsuke Sugaya <shinsuke @ yahoo.co.jp>:
> 菅谷です。
>
> 0.5.8-SNAPSHOTで対応してみました。
> 自動リダイレクトするかどうかのHTTPステータスを
> diconで渡せるようにしました。
>
> 参考になるように
> https://www.seasar.org/svn/sandbox/s2robot/trunk/s2robot-seo
> を久々に手直ししてみました。
> s2robot_client.diconでredirectHttpStatusPatternを
> 適当なパターンにしていただければ良いかと
> 思います。標準では、子リンク->親リンクの関係は
> AccessResultで取得できるかと思いますが、
> 親リンク->小リンクの関係を保持するのであれば
> 独自のTransformerを作る必要があるかと思います。
> サンプルとして、CustomTransformerを追加しましたが
> dicon的にはs2robot_transformer.diconに定義をして
> s2robot_rule.diconで適用されるように設定します。
> CustomTransformerでは親リンク->小リンクを
> ログしているだけですが、データを永続化するのであれば、
> ResultDataのdataとして保持することになるかと
> 思います。
>
> よろしくお願いいたします。
>
> shinsuke
>
> 2013年8月18日 23:14 kubo <dbflute @ gmail.com>:
>> 久保(jflute)です
>>
>> 菅谷さん、ありがとうございます。
>> ちょっと特殊な要件で申し訳ありませんが、
>> 要はリンク構成も取得したい、というところですね。
>>
>> BやCのクロール自体は後回しでもいいのですが、
>> Aのサイトのリンク構成だけをうまく取得できるような
>> 仕組みがあるとうれしいかもですね。
>>
>> もしくは、単純に S2RobotThread 周りを
>> 拡張しやすくして頂くだけでもありがたいです。
>> (今はスレッドローカルから無理矢理取得してたり)
>> 結構、あのクラスの処理をフックしたくなるので。
>>
>> ひとまず現状ではやりたいことはなんとか実現できているので、
>> 開発はこれで進めていきますね。(ちょと開発期間が短いもので)
>> S2Robot側で改善がされたら(時期許せば)ぜひ取り込みたいと。
>>
>>
>>
>> 2013/8/18 Shinsuke Sugaya <shinsuke @ yahoo.co.jp>:
>>> 菅谷です。
>>>
>>> フィードバックいただきありがとうございます。
>>> 現状、300台のときにリダイレクト先を取得できれば
>>> 取得して、処理せずに次のクロールに回してしまって
>>> いるので、リダイレクトするときも処理できるように
>>> カスタマイズ可能にすることを検討します。少々お待ち
>>> ください。
>>>
>>> よろしくお願いいたします。
>>>
>>> shinsuke
>>>
>>>
>>>
>>> 2013年8月16日 17:27 kubo <dbflute @ gmail.com>:
>>>> 久保(jflute)です
>>>>
>>>> S2Robotの利用を検討していまして、
>>>> ちょっと確認したいことがあります。
>>>>
>>>> /A/, /B/, /C/ という三つのURLが存在するとして、
>>>> /A/ の画面の中に /B/ というURLへのリンクがあって、
>>>> でも、/B/ にアクセスすると /C/ にリダイレクトする
>>>> という構造になっているとします。
>>>>
>>>> /A/ - (リンク) /B/ -> (リダイレクト) /C/
>>>>
>>>> すると、ACCESS_RESULT に、
>>>> - - - - - - - - - - - -
>>>> | URL | PARENT_URL
>>>> | /A/ | null
>>>> | /C/ | /B/
>>>> - - - - - - - - - - - -
>>>> という形で登録されるかと思いますが、
>>>> A と B の関連が取得できないかなぁと。
>>>> (要は、C は A から参照されているという情報)
>>>>
>>>> A のクロール結果を頑張って辿ればいけるかもしれませんが、
>>>> できればテーブルのリレーションだけでいけないかなと思い、
>>>> 追っかけてみたのですが、現状では無理なのかなと。
>>>> URL_QUEUEは一時的なので終わったら消えてしまいますし。
>>>>
>>>> ということで、S2RobotThread を拡張して、
>>>> (S2ClassBuilderを使って +.dicon でオーバーライド)
>>>> storeChildUrl()をオーバーライドして、
>>>> CrawlingParameterUtilのスレッドローカルから、
>>>> /A/ を取得して /C/-/B/ との関連情報を、
>>>> 別途独自のテーブルに保存するようにしてみました。
>>>>
>>>> これでなんとか想定したデータは取得できているようですが、
>>>> ちょっと強引さが否めないので、フィードバックも兼ねて、
>>>> 他に良い方法がないかどうかを確認したいと考えましたが、
>>>> いかがでしょうか?
>>>>
>>>> #
>>>> # DBFluteを内部で使って頂いてるので、
>>>> # ログ見れば何やってるのかわかりやすくて良いですね(^^。
>>>> #
>>>> _______________________________________________
>>>> Seasar-user mailing list
>>>> Seasar-user @ ml.seasar.org
>>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>> _______________________________________________
>>> Seasar-user mailing list
>>> Seasar-user @ ml.seasar.org
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>> _______________________________________________
>> Seasar-user mailing list
>> Seasar-user @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-user
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user


Seasar-user メーリングリストの案内