突然ですが Scrapy v1.1.0 から Python 3 に対応して嬉しいですね。これまで Scrapy のために 2.7 で通してきたんで。 さて、今回は Scrapy における エラーハンドリング(例外処理) についてまとめようと思います。 スクレイピングという行為は外部の構造化されていないデータを取ってくるものなので例外はつきものです。 例外が投げられたとき 何となく正常終了したように見せる ことは厳禁です。例外から正しく復帰させるか、または例外が投げられたならば正しく落とすことが重要です。 でないと、その後に例外に気づいて調節→リトライできませんからね。 Scrapy データフローに沿ったエラーハンドリング スクレイピング中に起こる不測の例外をキャッチするために通常の try ... except 文を使う事はできません。 なぜなら、我々が記述した Spider を実際に起動