爬图片在scrapy中特别简单,其实原理也是非常简单啊
打开图片的url,然后保存到本地。
不用scrapy:
r = requests.get(url)
Image.open(BytesIO(r.content)).save('images\1.jpg')
现在看一下用scrapy该怎么弄
接着上篇博客的代码,为了方面大家看出增加的代码,我以图片的形式展示
先看一下item.py中增加的代码吧
IMG_URL = scrapy.Field()
没错only one line
spider里面的代码,也可以说只增加了一行代码
还需要在settings.py中加入一些代码:
# 下载图片的pipelines scrapy都做好了
ITEM_PIPELINES = {'scrapy.pipelines.images.ImagesPipeline': 1}
# items 中图片的url
IMAGES_URLS_FIELD = 'IMG_URL'
# .代表当前路径
IMAGES_STORE = '.'
注意:如果提示你有某些函数有问题,PIL库没有装,你百度一下很快能装好
看一下我爬出来的结果:
再次说一下scrapy保存图片的几个坑?
1. 必须保存为数组的形式
2. 必须加上http:
如果上面两个坑你都注意到了,还是没爬到图片
或者你想自己去爬百度的美眉(百度美眉不是那么容易搞定的)
O(∩_∩)O哈哈~请参考我的第一篇博客:
http://blog.csdn.net/program_anywhere/article/details/72850085