scrapy异步下载图片

简介: scrapy异步下载图片

scrapy异步下载图片

通过 from scrapy.pipelines.images import ImagesPipeline管道下载,可以考虑自己重写,从而修改默认的方式

爬虫文件

"""scrapy异步下载图片"""

import scrapy
from selenium.webdriver import Chrome
from ..items import ServantPicItem
import pandas as pd
import numpy as np
from scrapy.pipelines.images import ImagesPipeline
class ServantSpider(scrapy.Spider):
    name_list = []
    img_list = []
    name = 'servant'
    start_urls = ['https://fgo.wiki/w/%E8%8B%B1%E7%81%B5%E5%9B%BE%E9%89%B4']



    def parse(self, response):
        item = ServantPicItem()


        # 读取本地csv文件
        data = pd.read_csv("link.csv",usecols=["图片名称"])
        data_array1 = np.array(data.stack())  # 首先将pandas读取的数据转化为array
        self.name_list = data_array1.tolist()
        data = pd.read_csv("link.csv",usecols=["图片链接"])
        data_array2 = np.array(data.stack())  # 首先将pandas读取的数据转化为array
        self.img_list = data_array2.tolist()  # 然后转化为list形式
        # item['name'] = self.name_list
        item['image_urls'] = self.img_list # 必须是img_urls,这是图片下载文件中有的
        yield item

setting.py文件

IMAGES_STORE = 'FGO' # 没有会自动创建
ITEM_PIPELINES = {
   # 'servant_pic.pipelines.ServantPicPipeline': 300,
     'scrapy.pipelines.images.ImagesPipeline': 300,
}

管道文件不需要更改。

items.py文件

import scrapy
class ServantPicItem(scrapy.Item):
    image_urls = scrapy.Field()

结果

运行后会在本地工程下兴建一个FGO文件夹,子文件夹full,
full中为下载图片,命名为以图片URL的SHA1值进行保存的

目录
相关文章
|
6月前
|
存储 数据采集 NoSQL
Scrapy与MongoDB的异步数据存储
在数据采集过程中,处理大量的数据请求和存储任务是常见的需求。使用Scrapy来爬取数据并将其存储到MongoDB中是一个高效的解决方案。本文将介绍如何实现一个异步插入MongoDB的Scrapy管道。
|
6月前
|
Web App开发 iOS开发 Python
经验大分享:scrapy框架爬取糗妹妹网站qiumeimei.com图片
经验大分享:scrapy框架爬取糗妹妹网站qiumeimei.com图片
42 0
|
7月前
|
数据采集 Python
Scrapy框架 -- 深度爬取并持久化保存图片
Scrapy框架 -- 深度爬取并持久化保存图片
138 0
4、web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签
标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需要导入模块:from scrapy.
886 0
|
数据采集 Python
scrapy对接selenium并设置selenium不加载图片
在 middlewares.py 文件中添加: from selenium import webdriver import time from scrapy.
1694 0
|
存储 Python 文字识别
Scrapy下载图片(下,图片中文字识别)
这里增加应用场景,让图片下载结合自动识别,实现识别转换图片中的电话号码。 背景 在爬取广西人才网的过程当中,发现广西人才网企业联系电话那里不是str,而是将电话生成了一张图片,遇到这种情况,通常有三种不同的处理办法: 将图片地址保存下来,只存url ...
1864 0
|
数据采集 索引 Python
Scrapy爬虫(4)爬取豆瓣电影Top250图片
  在用Python的urllib和BeautifulSoup写过了很多爬虫之后,本人决定尝试著名的Python爬虫框架——Scrapy.   本次分享将详细讲述如何利用Scrapy来下载豆瓣电影Top250, 主要解决的问题有: 如何利用ImagesPipeline来下载图片 如何对下载后的图片重命名,这是因为Scrapy默认用Hash值来保存文件,这并不是我们想要的   首先我们要爬取的豆瓣电影Top250网页截图如下:   网页的结构并不复杂,所以,我们决定把所有的250部电影的图片都下载下来。
1897 0
|
Web App开发 开发工具 iOS开发
使用scrapy ImagesPipeline爬取图片资源
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/79170849 这是一个使用scrapy的ImagesPipeline爬取下载图片的示例,生成的图片保存在爬虫的full文件夹里。
1369 0
|
Python 数据采集 调度
Scrapy框架之利用ImagesPipeline下载图片
1.ImagesPipeline简介 Scrapy用ImagesPipeline类提供一种方便的方式来下载和存储图片。
1651 0