zoukankan      html  css  js  c++  java
  • 下载文件和图片

    下载文件和图片

    Scrapy为下载item中包含的文件(比如在爬取到产品时,同时也想保存对应的图片)提供了一个可重用的item pipelines。这些pipeline有些共同的方法和结构我们称之为media pipeline。一般来说你会使用Files Pipline或者Images Pipeline

    为什么要选择使用scrapy内置的下载文件的方法

    1. 避免重新下载最近已经下载过的数据。
    2. 可以方便的指定文件存储的路径。
    3. 可以将下载的图片转换成通用的格式。比如png或jpg。
    4. 可以方便的生产缩略图。
    5. 可以方便的检测图片的宽和高,确保他们满足最小限制。
    6. 异步下载,效率非常高。

    下载文件的File Pipeline

    当使用Files Pipline下载文件的时候,按照以下步骤来完成:

    1. 定义好一个Item,然后在这个item中定义两个属性,分别为file_urls以及filesfile_urls是用来存储需要下载的文件的url链接,需要给一个列表。
    2. 当文件下载完成后,会把文件下载的相关信息存储到itemfiles属性中。比如下载路径、下载的url和文件的效验码等。
    3. 在配置文件settings.py中配置FILES_STORE,这个配置是用来设置文件下载下来的路径。
    4. 启动pipeline:在ITEM_PIPELINES中设置scrapy.pipelines.files.FilesPipline:1

    下载图片的Images Pipline

    当使用Images Pipeline下载文件的时候,按照以下步骤来完成:

    1. 定义好一个Item,然后在这个item中定义两个属性,分别为image_urls以及imagesimage_urls是用来存储需要下载的文件的url链接,需要给一个列表。
    2. 当文件下载完成后,会把文件下载的相关信息存储到itemimages属性中。比如下载路径、下载的url和文件的效验码等。
    3. 在配置文件settings.py中配置IMAGES_STORE,这个配置是用来设置图片下载下来的路径。
    4. 启动pipeline:在ITEM_PIPELINES中设置scrapy.pipelines.images.ImagesPipline:1
  • 相关阅读:
    c#实现windows远程桌面连接程序
    基于.NET平台常用的框架整理
    c#无限循环线程如何正确退出
    c# 内存的具体表现- 通用类型系统 深拷贝 浅拷贝 函数传参
    coco2d-x convertToWorldSpace介绍
    Effective C++条款20:宁以pass-by-reference-to-const替换pass-by-value。Test code
    函数指针与指针函数返回值的区别
    游戏开发那些事
    lua 根据指定字符拆分table字符串(转载)
    实习和学习的双重压力
  • 原文地址:https://www.cnblogs.com/colden/p/9863810.html
Copyright © 2011-2022 走看看