DailyDiaryCron

かきため

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())

スクレイピングPython