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

Back to archive index

KOMINE Masako Komin****@mss*****
2012年 5月 13日 (日) 21:24:12 JST


小峯です。

もうしわけありません。
org.apache.commons.httpclient と org.apache.http を
見間違えていました。

あらためて
>    <logger name="org.apache.http">
>      <level value ="debug" />
>    </logger>
を追加したところ、全てではありませんが
content-typeがtext/plainで返ってきているリクエストがかなりの割合になりました。

子URLがクロールされない理由はまだ不明ですが、
まずは、Webアプリケーションの環境を調べてみようと思います。

ありがとうございました。


(2012/04/27 15:17), Shinsuke Sugaya wrote:
> 菅谷です。
> 
>> 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 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 メーリングリストの案内
Back to archive index