Scrapy
Scrapy でバグっぽい挙動にぶつかったので状況と解決策の記録です。 クローラーの実行に失敗する いつものように Scrapy でクローラーを走らせようとしたらエラーでコケました。 エラーのログはこんな感じ。 2018-01-27 14:36:06 [scrapy.utils.log] INFO: S…
この記事は クローラー/Webスクレイピング Advent Calendar 2016 の10日目の記事です。 9日目は @hotu_ta さん、11日目は @TakesxiSximada さん でした。 Web スクレイピングはイレギュラーとの戦いです。特にそれが Web 定点観測のためのスクレイピングで…
突然ですが Scrapy v1.1.0 から Python 3 に対応して嬉しいですね。これまで Scrapy のために 2.7 で通してきたんで。 さて、今回は Scrapy における エラーハンドリング(例外処理) についてまとめようと思います。 スクレイピングという行為は外部の構造化…
昨日は Windows で Scrapy 1.1.2 をインストールするために必要な libxml2 のインストールについて解説しました。 blog.mudatobunka.org が、どうやら Windows ではクローリングを実行するときにもう一つ win32api というライブラリが必要になるようです。 w…
Scrapy を最新版の v1.1.2 にしたくて pip install scrapy したらインストール中にコケました。 python -m virtualenv env env\Scripts\activate pip install scrapy とやっても... コケる。 なにやら libxml2 というライブラリが見つからないと言われていま…
スクレイピングネタです。 Scrapy は Spider の perse() メソッドの中で新しい Request オブジェクトを yield してあげるだけで、次々に URL を辿ってクローリングしていけるので便利ですね。 例えば、response.xpath("//a/@href").extract() とかすればペー…
Scrapy の start_urls を外部ファイルから読み込んで設定する方法を書き留めます。Scrapyのバージョンは 1.0.4 を想定しています。 現状だとスクレイピング対象の URL はハードコーディングされています。対象 URL をソースコードに直書きしつつ管理したいと…
最近はPython書いてます。 さて、settings.py に記述したカスタムの設定をItem Pipelineで使いましょう。 Scrapyのバージョンは1.0.3を想定しています。 まぁ、公式ドキュメントのサンプルそのままなんですけど。 まずは settings.py に適当に書く ssettings…