Python3でScrapyを使う
残念ながら、Scrapyは、Python2.7では動きますが、Python3.xバージョンはまだリリースされていません。
と書いてあり、ウワアめんどくせえ、これが複数バージョンのPythonを仮想環境で分離するとよいと書いてあった理由か、と思ったが、調べてみるとPython3に対応したScrapyがリリースされたらしい。
$ pip install scrapy
とすると無事インストールできたようだ。ひとまず、仮想環境の問題が先送りにできた。
追記(2017.5.16)
その後、本に載っているサンプルコード(wikispider)を写経して実行してみたのだが、エラーが起きてうまく動かなかった。Scrapyのバージョンが違うのが原因なんじゃないか、というニオイがする。ここで無駄にハマるよりは、とりあえずScrapyが動いているところを自分の目で確かめておくのがいい!と判断し、この記事にあるコードを写経して実行したところ、正常に動いた。 チュートリアルをひととおりやってみた方がいいかもしれない、と思ってやってみたら、本のサンプルコードを実行したときと同じく
$ scrapy cralw quotes
が通らず、
raise KeyError("Spider not found: {}".format(spider_name)) KeyError: 'Spider not found: quotes'
というエラーが出る。これ、やっぱりPythonとScrapyのバージョンの問題なのかもしれない。AnacondaとScrapyの組み合わせが何か怪しそうだ。Scrapyのインストールガイドにも目を通した方がいいかもしれない。やはり仮想環境で分離する必要があるか…。