利用scrapy下载图片保存到本地
1.先声明一下,起始位置已经是将所有的图片链接都能到pipelines.py中
2.创建一个类,继承于ImagesPipeline,因此也就需要导入ImagesPipeline
from scrapy.pipelines.images import ImagesPipeline
3.由于继承自ImagesPipeline类,且该类下有一个get_media_requests方法需要被重写
def get_media_requests(self, item, info):
4.由于是通过链接来获取图片,就少不了scrapy.Request(图片链接)这个方法
import scrapy
5.向图片链接发请求后得到的响应会保存到settings.py中的IMAGES_STORE路径中,因此要去配置一下settings.py,
IMAGES_STORE = "/home/zengsf/spider/Douyu/Douyu/Images"
6.别忘了你创建的pipelines.py中的类需要在settings.py中的ITEM_PIPELINES中添加
ITEM_PIPELINES = {
# 'Douyu.pipelines.DouyuPipeline': 300,
'Douyu.pipelines.DouyuImagePipline': 200,
}
所有代码:
from scrapy.pipelines.images import ImagesPipeline
import scrapy class DouyuPipeline(object):
def process_item(self, item, spider):
# 可以写存储数据库逻辑
return item class DouyuImagePipline(ImagesPipeline):
# 此方法不能变
def get_media_requests(self, item, info):
# 1 获取图片链接
imageLink = item["imgLink"]
# 2 向图片链接发请求,响应会保存在settings.py中的IMAGES_STORE路径中
yield scrapy.Request(imageLink)
return item
利用scrapy下载图片保存到本地的更多相关文章
- JAVA 通过url下载图片保存到本地
//java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { // 构造U ...
- java后台中处理图片辅助类汇总(上传图片到服务器,从服务器下载图片保存到本地,缩放图片,copy图片,往图片添加水印图片或者文字,生成二维码,删除图片等)
最近工作中处理小程序宝箱活动,需要java画海报,所以把这块都快百度遍了,记录一下处理的方法,百度博客上面也有不少坑! 获取本地图片路径: String bgPath = Thread.current ...
- js截图及绕过服务器图片保存至本地(html2canvas)
今天要分享的是用html2canvas根据自己的需求生成截图,并且修复html2canvas截图模糊,以及绕过服务器图片保存至本地. 只需要短短的几行代码,就能根据所需的dom截图,是不是很方便,但是 ...
- Android 下载网络图片保存到本地
通过网络地址获取网络图片,点击下载将图片显示出来,然后点击图片将图片保存到本地. 首先需要在manifest上添加一些权限: <!-- 访问网络的权限 --> <uses-permi ...
- React Native之图片保存到本地相册(ios android)
React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...
- C# 中从网络上下载文件保存到本地文件
下面是C#中常用的从Internet上下载文件保存到本地的一些方法,没有太多的技巧. 1.通过 WebClient 类下载文件 WebClient webClient = new WebClien ...
- 2018-5-22-SublimeText-粘贴图片保存到本地
title author date CreateTime categories SublimeText 粘贴图片保存到本地 lindexi 2018-05-22 15:15:26 +0800 2018 ...
- php 获取远程图片保存到本地
php 获取远程图片保存到本地 使用两个函数 1.获取远程文件 2.把图片保存到本地 /** * 获取远程图片并把它保存到本地 * $url 是远程图片的完整URL地址,不能为空. */ functi ...
- iOS 将图片保存到本地
//将图片保存到本地 + (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key { NSUserDefaults* prefer ...
随机推荐
- ActiveMQ 集群和主从
举例说明:假设有 3 个 broker 节点,分别是61616,61618, 61620,其中 61616 和 61618 组成主.从节点,而 61616(或61618)和 61620 构成集群.61 ...
- 通过JdbcTemplate编写数据访问(二十八)
数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式. 首先,为了连接数据库需要引入jdbc支持,在pom.xml中引入如下配置: 1 2 3 4 < ...
- astah-professional-7_2_0安装
astah-professional-7_2_0-1安装 1● 下载文件 2● 安装 replace D:\Program\astahprofessional\inst\astah-p ...
- PHP7 ci框架session存文件,登录的时候session不能读取
config.php配置 $config['sess_driver'] = 'files';//以文件存储session $config['sess_cookie_name'] = 'ci_sessi ...
- 最佳加法表达式(dp)
题目描述: 有一个由1..9组成的数字串.问如果将m个加 号插入到这个数字串中,在各种可能形成的 表达式中,值最小的那个表达式的值是多少 (本题只能用于整数) 解题思路: 假定数字串长度是n,添完加号 ...
- AI新建文件可以新建多个画板5.2
- laravel注册行为的方法和逻辑
public function register() { //验证: $this->validate(\request(), [ 'name' => 'required|min:3|uni ...
- PHP中的Trait方法
<?php /* * 自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait. * Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制. * Trait ...
- mybatis实战教程
参考:http://blog.csdn.net/techbirds_bao/article/details/9233599/
- Python Django 之 静态文件存放设置
一.静态文件存放路径设置STATICFILES_DIRS 1.在django项目目录下面新建静态文件保存目录 2.在setting中添加相应寻找静态文件目录的配置 STATICFILES_DIRS=( ...