Scrapy shell で画像を表示するデバッグ方法
scrapy shell を使ってスクレイピングしていると、実際にアクセスした画像URLをコピペして開くのが面倒だったので、コンソールから今どの画像を見ているのかを知りたくなった。
ダウンロードして開く
当たり前かもしれないが、ローカルで画像を開く場合、一度ダウンロードする必要があった。
$ scrapy shell fetch('http://yahoo.co.jp') import requests import io from PIL import Image Image.open(io.BytesIO(requests.get(response.css('img::attr(src)')[0].extract()).content)).show()
Webブラウザから開く
こっちの方が簡単だった。
$ scrapy shell fetch('http://yahoo.co.jp') import webbrowser webbrowser.open(response.css('img::attr(src)')[0].extract())