0

私はスクレイピーで働いています。

URL のリストで構成されるサイトを取得しています。

そのため、メインの URL を要求しstart_url、リスト内のすべての href タグ (データを取得するためのリンク) を取得しました。データを取得するために、リスト内のすべての URL をさらに要求しましたが、一部の URL は以下のようにリダイレクトされます。

Redirecting (301) to <GET example.com/sch/mobile-68745.php> from Redirecting (301) to <GET example.com/sch/mobile-8974.php>

スクレイピーはリダイレクトされたリンクを無視することを知りましたが、リダイレクトされたURLをキャッチして、200ステータスのURLと同じようにスクレイピングしたいです

とにかくそのリダイレクトURLをキャッチしてそれらからデータをスクレイピングする方法はありますか?つまり、リダイレクトミドルウェアを無効にする必要がありますか? または、Request コマンドでメタ タグを使用する必要がありますか?その例を教えてください。

4

1 に答える 1

0

私は Scrapy の経験がありませんが、コンテンツを解決するときに Scrapy が動作する方法を変更するミドルウェアを定義できるようです。

すぐに使用できるリダイレクトをサポートおよび処理するRedirectMiddlewareがあるため、それを有効にするだけで済みます。

DOWNLOADER_MIDDLEWARES = {
    'apy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 123,
}
于 2012-06-15T10:29:04.357 に答える