1

私は解決策を見つけようとして立ち往生しました...

My Scrapyスパイダーはサイトをクロールしてアイテムにデータを取得し、スクレイピングされたデータに基づいてリクエストを返し、アイテムを完了するために他のサイトをクロールします。

2番目のURLがエラーを返すことがあるため、アイテムが出力されないことがあります。

アイテムをerrback関数に運ぶにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

4

ドキュメントから:

errback (callable) – リクエストの処理中に例外が発生した場合に呼び出される関数。これには、404 HTTP エラーなどで失敗したページが含まれます。最初のパラメーターとして Twisted Failure インスタンスを受け取ります。

ラムダを使用してみてください:

    ...
    yield Request(..., errback=lambda failure, item=item: self.on_error(failure, item))

def on_error(self, failure, item):
    ...
于 2012-08-19T15:05:11.163 に答える