python爬取网页伯乐在线封面图,并保存到相对路径

 首先得对settings.py进行设置:

ITEM_PIPELINES = {
   'ArticleSpider.pipelines.ArticlespiderPipeline': 300,
    'scrapy.pipelines.images.ImagesPipeline':1,
}
#注意IMAGES_URLS_FIELD(下面那个也一样) 不能写错,否则图片存不到images的
IMAGES_URLS_FIELD = "front_image_url"
#获取当前文件所在路径,这里是相对路径
project_dir = os.path.abspath(os.path.dirname(__file__))
#设置存放图片的路径
IMAGES_STORE =os.path.join(project_dir ,'images')

  

第一个 报错 ImportError: No module named 'PIL'

解决方法:pip install pillow

这样安装比较慢,那咱可以利用豆瓣镜像进行下载:pip install -i https:pypi.douban.com/simple pillow

第二个报错:

报错原因:

在ImagesPipeline中会将 IMAGES_URLS_FIELD = "front_image_url"中的front_image_url当做数组处理,而我们在jobbole.py中传进来的front_image_url不是数组,因此会报错

此时是因为在jobbole.py中有个变量front_image_url。

解决方案:在这个变量上加上[]    

actcle_item['front_image_url'] = [front_image_url]

  这时你的图片就会存在这个目录下面

代码以后会给出。。。。现在还正在写中

原文地址:https://www.cnblogs.com/fh-fendou/p/7574945.html