Hyper EstraierのWebクローラのUserAgentを変更する方法
基本的にHyperEstraierのWebクローラ(estwaverコマンド)のUser-Agentは"HyperEstraier/{バージョン}"で固定になっている。でも、モバイルサイトを検索対象にしたい時にこれでは困る。理由は、User-Agentによって表示するコンテンツを切り替えている動的ページに対応できないためだ。
いろいろ調べたところ、設定ファイルにはUser-Agentの設定項目がないため、ソースを修正して再コンパイル&インストールするしかないようだ。具体的には、estnode.h内を以下のように修正して、コンパイルしてインストールする事でUserAgentを変更したestwaverが作成できる。
---------- estnode.h ---------- #define ESTAGENTNAME "HyperEstraier" /* name of the user agent */ ↓ #define ESTAGENTNAME "DoCoMo/2.0 P906i(c100;TB;W24H15) HyperEstraierCrawler" /* name of the user agent */ ※この例の場合、実際のUser-Agentは"/{バージョン}"を付加したものになる。 例:versionが1.4.13の場合 DoCoMo/2.0 P906i(c100;TB;W24H15) HyperEstraierCrawler/1.4.13
注意点としては、makeしただけではダメで、make installしないとダメ。
インストール先/lib以下に入るライブラリにUser-Agentの値が入っているから当たり前という話もある。
HyperEstraierのWebクローラでUser-Agentを複数使いたいのであれば、その分だけestnode.hを修正して
異なるディレクトリへインストールする必要があるという事。
例えば、こんな感じ。
/usr/local/hyperestraier-pc /usr/local/hyperestraier-docomo /usr/local/hyperestraier-au /usr/local/hyperestraier-softbank