概要 JavaScriptでDOMを作ってるサイトをPythonを使ってスクレイピングしたので、手順をメモ。 大雑把には、ScrapyとSeleniumを組み合わせてやった。 Scrapy Scrapyは、クローラーを実装するためのフレームワーク。 クローラーをSpiderのサブクラス、スクレイピングした情報をItemのサブクラス、スクレイピングした情報に対する処理をPipelineのサブクラス、という風にフレームワークが決めたインターフェースを満たすクラスとしてクローラーを実装する。 scrapyというコマンドが提供されてて、このコマンドを使って、作ったクローラーの一覧を見たり、クローラーを起動したりできる。 Seleniumは、ブラウザをプログラムから制御するためのツール(でいいのかな?)。Pythonも含めたいろんな言語で使える。 よくWebサイト/アプリの自動テスト文脈でよく出てく
突然ですが Scrapy v1.1.0 から Python 3 に対応して嬉しいですね。これまで Scrapy のために 2.7 で通してきたんで。 さて、今回は Scrapy における エラーハンドリング(例外処理) についてまとめようと思います。 スクレイピングという行為は外部の構造化されていないデータを取ってくるものなので例外はつきものです。 例外が投げられたとき 何となく正常終了したように見せる ことは厳禁です。例外から正しく復帰させるか、または例外が投げられたならば正しく落とすことが重要です。 でないと、その後に例外に気づいて調節→リトライできませんからね。 Scrapy データフローに沿ったエラーハンドリング スクレイピング中に起こる不測の例外をキャッチするために通常の try ... except 文を使う事はできません。 なぜなら、我々が記述した Spider を実際に起動
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く