案例:scrapy图片数据爬取之ImagesPipeline

2023-11-01

1.需求:爬取站长素材中的高清图片(http://sc.chinaz.com/tupian/)

2.编码流程

  • 创建和使用 Scrapy 工程:scrapy startproject imgPro

  • 创建出爬虫文件:

    • cd myscrapy
    • scrapy genspider -t crawl imgspider www.xxx.com
      在这里插入图片描述
  • 数据解析(图片地址)

  • 将存储图片地址的item提交到自定义的管道类

  • 在管道文件中自定义一个继承于ImagesPipeline的管道类
    重写三个方法
    ​ get_media_request()
    ​ file_path()
    ​ item_completed()

  • 在配置文件中:

    • 指定图片存储的目录:IMAGES_STORE = ‘./imgs’
    • 指定开启的管道:自定义的管道类

3.示例代码

  • imgspider.py
import scrapy
from ..items import ImgproItem


class ImgspiderSpider(scrapy.Spider):
    name = 'imgspider'
    # allowed_domains = ['sc.chinaz.com/']
    start_urls = ['http://sc.chinaz.com/tupian/index.html']
    url = 'http://sc.chinaz.com/tupian/index_%d.html'
    page_num = 2
    def parse(self, response):
        item =</
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

案例:scrapy图片数据爬取之ImagesPipeline 的相关文章

随机推荐

  • qnx-linux-android的LCD驱动调试参数配置-LCD RGB 控制技术讲解 时钟篇上

    锋影 email 174176320 qq com 目录 LCD RGB 控制技术讲解 时钟篇上 时序图 LCD显示流程 LCD时钟分析 显示一行 像素时钟 水平同步时钟 HSYNC 显示一帧 垂直同步时钟VSYNC 时序图 下面是LCD
  • 区块链学习(Spring Boot)【Day03-Day06】

    2023 5 18 idea创建Spring工程 创建module 选择spring 选择Type为Maven 设置Group 一般为域名倒写 设置package name 设置Java版本和sdk版本 一般为11 设置保存路径locati
  • led流水灯

    文章目录 前言 一 什么是led灯 二 Cyclone IV开发板 三 流水灯模块设计 四 工程代码 五 功能仿真 六 modelsim 七 引脚分配 八 运行效果 总结 前言 本章将讲解流水灯的制作 在Cyclone IV开发板上依次点亮
  • layui checkbox设置只能单选

    HTML代码 fieldset style border 1px solid 2779aa height 190px width 100px margin left 15px fieldset
  • 第一课 什么是norm?(An Evolutionary Approach to Norms)

    文章目录 An Evolutionary Approach to Norms 概述 norm game An Evolutionary Approach to Norms 概述 The three most common types of
  • 其实并不难!几分钟带你分析python爬虫入门简单基础!

    一 基础入门 1 1什么是爬虫 爬虫 spider 又网络爬虫 是指向网站 网络发起请求 获取资源后分析并提取有用数据的程序 从技术层面来说就是 通过程序模拟浏览器请求站点的行为 把站点返回的HTML代码 JSON数据 二进制数据 图片 视
  • Selenium面试问题及答案30题版

    近期我会在博客中系统的更新一些关于Selenium的文章 也请大家多多关注下我的视频课程 入门 基于Java的Selenium3自动化测试完整教程 高级 Selenium Java高级架构课程
  • Flutter 使用Screen保持屏幕常亮不息屏

    有时候开发app可能会用到屏幕常亮 不让其息屏 比如你播放一个视频 你肯定不想突然间就跟随系统设置而息屏看不到视频了 所以务必要使用一些插件来控制屏幕的亮度和常亮 本人搜了好多 基本都是使用 wakelock 这个插件来实现不息屏操作 但是
  • hdfs如何赋予目录权限

    用户身份 在1 0 4这个版本的Hadoop中 客户端用户身份是通过宿主操作系统给出 对类Unix系统来说 将来会增加其他的方式来确定用户身份 比如Kerberos LDAP等 期待用上文中提到的第一种方式来防止一个用户假冒另一个用户是不现
  • 鸿蒙系统怎么没有微信界面,如果鸿蒙系统没有微信,你会选择用吗?

    原标题 如果鸿蒙系统没有微信 你会选择用吗 前段时间华为在东莞召开的开发者大会上 华为官方公布了40多个于鸿蒙深度合作的应用 但是有网友发现在这40多个应用中有我们熟知的QQ 微博 却唯独没有微信 这究竟是怎么一回事呢 这是因为腾讯坚持生物
  • Android 低功耗蓝牙摸索踩坑(更新中)

    系列文章目录 文章目录 系列文章目录 前言 一 Xamarin不用Nuget写低功耗蓝牙尝试 失败 二 Xamarin用Nuget Plugin BLE写低功耗蓝牙 三 Android Studio写低功耗蓝牙 总结 前言 本系列估计就一篇
  • Numpy的array与list的复制

    复习中记错了array的复制 以为也同list一样是用切片 list的复制方法如下 a 1 2 3 b a 而array的话 切片和赋值均指向自身 a b a b 均指b 要使用的复制方法如下 array2 array1 copy 对原始的
  • error PRJ0019: 工具从"执行注册"

    每次rebuild VC提示 工具从 执行注册 重新build 提示 生成 1 已成功 注释掉涉及到ACE部分的代码之后此错误消失 查CSDN MSDN无果 解决方法 突然想到VC在编译完毕之后会注册此OCX regsvr32的时候如果缺少
  • monodb,根据条件查询到指定数据,保存到另一张表中

    我这里有两张表 一个是db baike 一个是db baike address 从baike中根据条件读取数据 拿着这条数据在baike address中验证一下是否存在 如果不存在的话存到另一个张表中 我命名为baike city 根据t
  • 【二】Django - v 2.2 Models层

    Models层 模型类 继承自 django db models Model 每个类属性 表现一个数据字段 嵌套Meta声明更多选项 字段类型 通用属性 字段选项 说明 null True False 字段是否可以为NULL 允许数据库存储
  • 如何理解v-model指令

    v model指令的是 view层输入值影响data的属性值 data属性值发生改变会更新view层的数值变化 它负责监听用户的输入事件 从而更新数据 多用于表单组件的 双向数据绑定 它总是将vue实例中的数据作为数据来源 然后当输入事件发
  • Arduino STM32F103(BluePill)教程七 基于U8g2的软件IIC控制 OLED1306 128*64

    Arduino BluePill STM32 F103 教程七 基于U8g2的软件IIC控制 OLED1306 128 64 为什么之前有硬件IIC 这里又上软件IIC呢 因为之前在公司做了一个小项目 STM32硬件IIC经常卡死 加入看门
  • java opencv边缘提取

    1 下载opencv Releases OpenCV 2 找到jar包D opencv opencv build java 3 各种方式引入到项目中 这里直接buildpath 4 若报错no opencv java451 in java
  • 【蓝桥杯】第八届省赛 - 分巧克力(二分)

    儿童节那天有 K K K 位小朋友到小明家做客 小明拿出了珍藏的巧克力招待小朋友们 小明一共有 N N N 块巧克力 其中第 i
  • 案例:scrapy图片数据爬取之ImagesPipeline

    1 需求 爬取站长素材中的高清图片 http sc chinaz com tupian 2 编码流程 创建和使用 Scrapy 工程 scrapy startproject imgPro 创建出爬虫文件 cd myscrapy scrapy