Python のウェブスクレイピングツールである Scrapy についての記事です。 すでに、関連記事は多数ありますが、あまり公式ドキュメントに沿った使い方で実装している記事が見当たらないので、原理主義の真髄基本を紹介するために書いてみました。 なお、これは2017年7月時点のサイトデザインをもとに記事やプログラムを書いています。 (追記) ソースコードを github に置きました。クラス名などは、記事を書いた時点のものから少し変えています。 Scrapy の仕組み 下図は、ScrapyでHTMLを解析するときの典型的な処理の流れです。 Item 抽出する情報の一単位分を表すクラスです。スクレイピングする際はたいてい同じ構造を持つ情報を複数取り出して、CSVに変換したりデータベースに格納したりしますが、CSV ならその1行、データベースなら1レコードに相当するオブジェクトです。 Fiel