0

WordPress ブログからページを自動的にダウンロードするボットを作成しています。ボットはほとんどのページを問題なく取得します。たとえば、特定のタグの記事リストの最初のページを簡単に取得できます: http://example.com/myblog/index.php/archives/tag/mytag。ただし、何らかの理由で、http://example.com/myblog/index.php/archives/tag/mytag/page/2のような後続のページを取得できません。

私は何が起こっているのかを理解しようとしましたが、ここに私が見つけたものがあります: サーバーはほとんどの要求に正常に応答しますが、そのような要求に対しては 301 パーマネント リダイレクトで応答します。奇妙なことに、Location ヘッダーはリクエストとまったく同じ URL に設定されています。基本的に、サーバーはページhttp://example.com/myblog/index.php/archives/tag/mytag/page/2のリクエストを...まったく同じページにリダイレクトするように指示します:P

ブラウザからページにアクセスしようとすると、問題なくページが表示されます。ボットが送信しないヘッダー (Cookie を含む) をブラウザーが送信するのではないかと考えたので、ブラウザーの Web コンソールからヘッダー (Cookie を含む) をコピーしましたが、動作は変わりませんでした。

この奇妙な動作を引き起こしている可能性のあるもの、何が起こっているのかをよりよく理解するためにできること、そしてもちろん、それらのページを自動的に取得するために何ができるかについての提案をいただければ幸いです。

ありがとう!

4

1 に答える 1

0

この投稿はあまり公益を生み出していないようです。ただし、誰かが同じ問題に遭遇してこの投稿を見つけた場合に備えて、これが私が使用した解決策です。重要な注意:私はまだ私が目撃した行動を理解していません、そして誰かがそれを説明することができればそれをいただければ幸いです。

したがって、私が見つけた解決策は、基本的にhttp://example.com/myblog/index.php/archives/の代わりにURLhttp://example.com/myblog/archives/tag/mytag?paged=2を使用することです。 tag / mytag / page/2。おかしなことに、このURLは、ブラウザから参照すると元のURLにリダイレクトされます。しかし、ボットがそれを要求したとき、リダイレクトなどなしでページを取得しました。(だから私はやりたいことを何とかやりましたが、そこで何が起こったのか、そもそもなぜ問題があったのか、そしてなぜこの解決策が機能したのかわかりません:1つのURLに対してボットは無限のリダイレクトとブラウザを取得しますページを取得するだけですが、他のブラウザは[有限に]リダイレクトされ、ボットがページを取得します。これはまだわかりません...)

于 2012-08-13T01:09:09.770 に答える