スレッド数という項目がありますが、多いほど速くなるってものではありません。
何も考えずにスレッド数を増やしても、通信回線の混み具合や、相手サーバの都合
により、タイムアウトが頻発することもよくあります。
タイムアウトがどの程度発生しているかを知るには、表示→ログ表示にします。
この状態でしばらく観察してみて、ファイルが保存される回数よりもタイムアウトの発生回数が多いようなら
明らかにスレッド数が多すぎであると考えられます。
このような場合は、スレッド数
を少なくしてタイムアウトの発生を抑制するように調整することが、結果として
効率アップにつながります。
指定サーバ内に限定 チェックをはずして動作させると、サーバーを超えてリンクをたどるようになります。
ところが、たとえば、画像ファイルの検索、ダウンロードの処理を行っている際に、たまたま処理したページが、
http://www.yahoo.co.jp
のようなリンクを含んでいたとすると、それ以降、Yahooのホームページに含まれている大量のリンクをたどってしまってそこからなかなか出てこれなくなる可能性があります。
以下のような可能性が考えられます。
実際にあるユーザさんに相談されたことですが、
その方は、あるサイトから HTML のドキュメントを大量にダウンロードするために、HTML をファイルに保存オプションをオンにして使っていました。
保存された HTML のドキュメントを見ていると、ファイルの先頭部分の内容が、ドキュメントの途中で何度も繰り返しているようなファイルがいくつかできていました。おかしいと思って、ダウンロードもとのファイルをブラウザーで個別にダウンロードしてみるとそのようになっていません。どうも正しくダウンロードされていないようでした。
どうにかして欲しいと言うことで相談を受け、その問題のサイトから問題のファイルをダウンロードしてみたのですが、何度試しても正常にダウンロードできるようです。また、プログラムのソースを繰り返しチェックしても、問題が起こりそうにもありません。
うーん、とっても困ってしまったのですが、はたと気がついて、そのユーザのかたに
ウィルス防止ソフトは常駐しているでしょうか。
もし、常駐しているのでしたら、常駐解除または、リアルタイムのウィルスチェックを禁止して試してみてください。ディスクへの書き込みを監視しているタイプのソフトですと原因を作っていることもあるかもしれませんので、念のため。
と、メールを送ったところ、問題解決しました。
その方は、Norton の Internet Security を使われているとのことでした。常駐を解除したところうまくいったそうです。
ちなみに、BBBear-chan の開発環境では Norton AntiVirus 2003 を使ってますが、ぜんぜん問題はおきていません。
ウイルス関係といえば、こういう問題もあります。
[目次] [トップページに戻る]ストリーミングコンテンツはよく、xxx.asx というような、拡張子が ASX のファイルにリンクされています。これは、メタファイルと呼ばれるファイルで、実際のコンテンツの場所がこの中に書かれています。ASX ファイルの中身は以下の例のようになっています。
<ASX version = "3.0"> <Entry> <Ref href="mms://1.25.3.1/araure/girl/gi82_free_300.wmv" /> </Entry> </ASX>
この例では、実際のコンテンツの URL は、mms://1.25.3.1/araure/girl/gi82_free_300.wmv です。
ASXファイルと実際のコンテンツは、別のサーバに置かれていることが多いようです。そのため、ストリーミングコンテンツを Spider で保存しようとするときに、うっかり、
指定サーバ内に限定チェックが入っていると、何にも引っかからないというようなことになります。
何にも引っかからないときは、指定サーバ内に限定 チェックを外しましょう。