[fess-user 559] Re: htmlとしてクロールして欲しいページがファイルとして処理されているよう

Back to archive index

Shinsuke Sugaya shins****@yahoo*****
2012年 4月 27日 (金) 15:17:57 JST


菅谷です。

> jp.sf.fess, org.seasar.robot, org.seasar.robot.dbflute, jp.sf.fess.solr,
> org.apache.commons.httpclient

Fess では HttpClient 4 を採用しているので、パッケージは
org.apache.http を指定する必要があります。
webapps/fess/WEB-INF/classes/log4j.xml に

  <logger name="org.apache.http" >
    <level value ="debug" />
  </logger>

を追加するのが良いかもしれません。

> また、ブラウザからアクセスした場合のレスポンス/リクエストヘッダ
> は以下のようになります。

Fess でクロールしたときは別なものが返ってきている
のではないでしょうか。上記のログでクロール時の
レスポンスを確認すると切り分けができると思います。

> また、Transfer-Encoding が chunked だと問題があったりするでしょうか。

特に問題ないと思います。

よろしくお願いいたします。

shinsuke


2012年4月23日18:19 KOMINE Masako <Komin****@mss*****>:
> 小峯です。
>
>
> jp.sf.fess, org.seasar.robot, org.seasar.robot.dbflute, jp.sf.fess.solr,
> org.apache.commons.httpclient
> のログレベルを "debug" にしてクロールを実行しました。
>
> なかなかまとまらない質問で申し訳ないのですが
> アドバイスいただければ幸いです。
>
>
> やったことの内容は以下の通りです。
>
> 1. ログレベルを変更してクロールを実行。
> 2. MIME TYPEが "text/html" と判断されるページと "text/plain" と判断されるページがあった。
> 3. 上記2の理由のため、s2robot_rule.diconの "webHtmlRule" のルールに "text/plain" を追加した。
> 4. 再びクロールを実行。
>
> 4. のログから
> (1) MIME TYPEが "text/html" と判断される場合と "text/plain" と判断される場合がある
>   ※ 同じURLでも"text/html"となる場合と"text/plain"となる場合があります
>   ※ ブラウザからアクセスすると content-type は "text/html" です
> (2) ルールが "webHtmlRule" であっても子のURLがクロールされない
>
>
> (1) について
> 以下は4のページクロール後の "insert into ACCESS_RESULT" 時のログです
> (URLは書き換えてあります)。
>
> ・MIME TYPE text/plain
> [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog -
> /=============================================================================
> [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog -
> AccessResultBhv.insert()
> [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog -
> =======================/
> [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.XLog - DBDataServiceImpl.store():63 -> ...
> [Robot-20120420141512-1-2] DEBUG org.seasar.robot.dbflute.QLog -
> insert into ACCESS_RESULT (SESSION_ID, RULE_ID, URL, PARENT_URL, STATUS, HTTP_STATUS_CODE, METHOD, MIME_TYPE,
> CONTENT_LENGTH, EXECUTION_TIME, LAST_MODIFIED, CREATE_TIME)
>  values ('20120420141512-1', 'webHtmlRule', '【コンテキストURL】/xxxx/xxxxx/xxx/j', '【コンテキストURL】/xml
> /sitemap.ja.xml', 0, 200, 'GET', 'text/plain', 41784, 5090, '2012-04-20 14:15:54.502', '2012-04-20 14:15:54.614')
>
> ・MIME TYPE text/html
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog -
> /=============================================================================
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog -
> AccessResultBhv.insert()
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog -
> =======================/
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.XLog - DBDataServiceImpl.store():63 -> ...
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.dbflute.QLog -
> insert into ACCESS_RESULT (SESSION_ID, RULE_ID, URL, PARENT_URL, STATUS, HTTP_STATUS_CODE, METHOD, MIME_TYPE,
> CONTENT_LENGTH, EXECUTION_TIME, LAST_MODIFIED, CREATE_TIME)
>  values ('20120420141512-1', 'webHtmlRule', '【コンテキストURL】/xxxxxx/xxxxxxxxxx/xxxxxxxxxxxx/j', '【コンテキストURL】
> /xml/sitemap.ja.xml', 0, 200, 'GET', 'text/html', 31813, 97, '2012-04-20 14:15:49.657', '2012-04-20 14:15:50.156')
>
> また、ブラウザからアクセスした場合のレスポンス/リクエストヘッダ
> は以下のようになります。
>
> ・レスポンスヘッダソース
> Connection              Keep-Alive
> Content-Language        ja
> Content-Type            text/html;charset=UTF-8
> Date                    Fri, 20 Apr 2012 07:00:49 GMT
> Keep-Alive              timeout=15, max=100
> Retry-After             Sun, 14 Jun 2009 6:00:00 GMT
> Transfer-Encoding       chunked
> ・リクエストヘッダソース
> Accept                  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Encoding         gzip, deflate
> Accept-Language         ja,en;q=0.7,en-us;q=0.3
> Connection              keep-alive
> Cookie                  【省略】
> Host                    【ホスト】
> User-Agent              Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0
>
>
> (2) について
> 以下のような"add child" というログがあるので子URLのリストは作成されているようなのですが
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.client.http.HcHttpClient - Accessing 【URL】
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.client.http.HcHttpClient - 【ホスト】/robots.txt is already visited.
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.helper.impl.LogHelperImpl - Processing the response. Http Status: 200,
> Exec Time: 97
> [Robot-20120420141512-1-1] DEBUG org.seasar.robot.transformer.impl.HtmlTransformer - Base URL: 【URL】
> [Robot-20120420141512-1-1] DEBUG jp.sf.fess.transformer.FessXpathTransformer - 【ホスト名なしの子URL】 -> 【子URL】
> [Robot-20120420141512-1-1] DEBUG jp.sf.fess.transformer.FessXpathTransformer - Add Child: 【子URL】
>
> ・MIME TYPE が "text/html" の場合
> "add child" された子URLに対して
> UrlQueueBhr, AccessResultBhvのselectCount()のあとに
> UrlQueueBhv.batchInsert()が行われますが、このURLに対して
> クロールが実行されません。
>
> ・MIME TYPE が "text/plain" の場合
> "add child" された子URLに対して
> UrlQueueBhv.batchInsert()が行われず、クロールも行われません。
>
>
> 以上の内容から設定の間違いや、ここを確認した方が良いといった
> ことはありますでしょうか
> (クロール対象のwebアプリケーションはリバースプロキシ下で動いているのですが、
> 同じアプリケーションをリバースプロキシなしの別の
> サーバで動作させた場合は、(URL以外)同じウェブクロールの設定で
> 正常にクロールできるので、ウェブクロールの設定には問題ないと
> 思うのですが)。
> また、Transfer-Encoding が chunked だと問題があったりするでしょうか。
>
>
> よろしくお願いいたします。
>
> ---
> ■ 設定、環境など
> ウェブクロールの設定は次の通りです
> ・URL:   【コンテキストURL】/xml/sitemap.ja.xml
> ・クロール対象とするURL:
>        【コンテキストURL】/.*
> ・クロール対象から除外するURL:
>        .*\.png$
>        .*/png$
>        .*/gif$
>        .*\.gif$
>        .*\.jpg$
>        .*/jpg$
>        .*/e$
>        .*/e/$
> ・深さ:    5
>
> Fessの実行環境は以下の通りです。
> OS: Red Hat Enterprise Linux6.2
> Tomcat: 7.0.23
> Fess: 5.0.1
>
> クロール対象のWebアプリケーションは
> apache+tomcatで動作しており、さらにリバースプロキシ下にあります
> ---
>
> (2012/04/17 11:23), KOMINE Masako wrote:
>> 小峯です。
>>
>> ご回答ありがとうございます。
>> 今すぐ確認できる環境にないのですが、
>> 次の機会にやってみようと思います。
>>
>>
>>> 菅谷です。
>>>
>>> http://fess.sourceforge.jp/ja/6.0/config/logging.html
>>>
>>> ログレベルを debug などで確認するのが良いと思います。
>>> org.apache.http 以下あたりを debug  にすると
>>> HttpClient 関連のやり取りが確認できると思います。
>>>
>>> よろしくお願いいたします。
>>>
>>> shinsuke
>>>
>>>
>>> 2012年4月16日17:09 KOMINE Masako<Komin****@mss*****>:
>>>> はじめまして。小峯と申します。
>>>>
>>>> サイトマップを使用して、サイトをクロールさせようとしているのですが、
>>>> クロールはされるものの、webページとしてではなく、
>>>> 何かのファイルとして処理されてしまいます。
>>>>
>>>> そのページに含まれるリンク先にクロールに行かず、
>>>> 検索結果で表示されるコンテンツタイトルに
>>>> URLの最後の部分が表示されるため、そう判断しました。
>>>> また、このサイトには静的なページと動的に作成されるページとがあって
>>>> 静的なページをサイトマップを使用せずにクロールさせると、
>>>> こちらはhtmlとして処理されます。
>>>> どちらの場合も「ウェブクロールの設定」で「深さ」は5に設定していました。
>>>>
>>>> クロール対象のページのURLは"http:"で始まり、
>>>> wgetコマンドでアクセスすると、
>>>> "Content-Type: text/html;charset=UTF-8"
>>>> で応答があるため、s2robot_rule.diconのデフォルトの設定で
>>>> htmlとして処理されそうな気がします。
>>>>
>>>> fess_crawler.outを見てもエラーらしき出力は見つけられません。
>>>>
>>>> どのような原因が考えられるか、お心当たりがありましたら
>>>> お教え願えるでしょうか。
>>>>
>>>> よろしくお願いいたします。
>>>>
>>>> _______________________________________________
>>>> Fess-user mailing list
>>>> Fess-****@lists*****
>>>> http://lists.sourceforge.jp/mailman/listinfo/fess-user
>>
>> _______________________________________________
>> Fess-user mailing list
>> Fess-****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/fess-user
>>
>>
>
>
> --
> 小峯 政子 (KOMINE Masako)
>
> 三菱スペース・ソフトウエア(株)
> 第四技術部 第三グループ
> e-mail: Komin****@mss*****
> tel: 029-859-0312 / fax: 029-859-0322
>
> _______________________________________________
> Fess-user mailing list
> Fess-****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/fess-user




Fess-user メーリングリストの案内
Back to archive index