1、首先创建项目

进入相对应目录,输入scrapy startproject  img

2、创建爬虫文件

cd img   输入   scrapy  genspider -t    basic  qiantu  5442.com

3、进入 items文创建保存url地址容器

import scrapyclass ImgItem(scrapy.Item):# define the fields for your item here like:
    # name = scrapy.Field()
    url = scrapy.Field()

4、分析网站  编写

首页爬取的第一层链接

def parse(self, response):urldata = response.xpath("//div[@class='nav both']//a/@href").extract()print(urldata)for i in range(0, len(urldata)):urllist = urldata[i]yield Request(url=urllist, callback=self.next)

提取第二层链接

def next(self, response):thisurl = response.url# print(thisurl)

    for j in range(1, 250):if thisurl == "http://www.5442.com/mingxing/":pageurl = thisurl + "list_" + "2_" + str(j) + ".html"
            yield Request(url=pageurl, callback=self.next1)if thisurl == "http://www.5442.com/qiche/":pageurl = thisurl + "list_" + "3_" + str(j) + ".html"
            yield Request(url=pageurl, callback=self.next1)if thisurl == "http://www.5442.com/fengjing/":pageurl = thisurl + "list_" + "4_" + str(j) + ".html"
            yield Request(url=pageurl, callback=self.next1)if thisurl == "http://www.5442.com/youxi/":pageurl = thisurl + "list_" + "5_" + str(j) + ".html"
            yield Request(url=pageurl, callback=self.next1)if thisurl == "http://www.5442.com/katong/":pageurl = thisurl + "list_" + "6_" + str(j) + ".html"
            yield Request(url=pageurl, callback=self.next1)if thisurl == "http://www.5442.com/tushuo/":pageurl = thisurl + "list_" + "8_" + str(j) + ".html"
            yield Request(url=pageurl, callback=self.next1)if thisurl == "http://www.5442.com/mingxingtuku/":pageurl = thisurl + "list_" + "9_" + str(j) + ".html"
            yield Request(url=pageurl, callback=self.next1)def next1(self, response):imglist = response.xpath("//div[@class='w650 l']//li//a/@href").extract()# print(imglist)
    # print(type(imglist))
    for i in range(0, len(imglist)):thisurl = imglist[i]# print(thisurl)
        yield Request(url=thisurl, callback=self.next2)
http://www.5442.com/mingxing/list_2_2.html

由于此网站每个分类的页数没有显示,所以就以每个分类250页为例,分析下一页链接构成(next方法), (next1方法是爬取图片所在链接)

爬取第三层链接(图片的最终地址)

def next2(self, response):imgurllist = response.xpath("//div[@class='arcBody']//a/img/@src").extract()try:for i in range(0, len(imgurllist)):imgurl = imgurllist[i]item = ImgItem()item['url'] = imgurl# print(item['url'])

            yield itemexcept ValueError as e:pass

5、写pipelines文件

class ImgPipeline(object):def process_item(self, item, spider):# print(item["url"])
            try:thisurl = item["url"]# print(thisurl)

                # 避免名字重复,名字再加上个随机数
                file = "F:/peitao/image/" + str(int(random.random() * 100000)) + ".jpg"
                urllib.request.urlretrieve(thisurl, filename=file)except Exception as e:pass
                return item

要记得在setting文件中 取消注释的

ITEM_PIPELINES = {'img.pipelines.ImgPipeline': 300,

}

scrapy 爬取大型图片网站(http://5442.com/)相关推荐

  1. Scrapy爬取ammmi图片

    Scrapy爬取ammmi图片 相关配置: python version:3.7 IDE:Pycharm environment:windows10 Framework:Scrapy 相关链接: We ...

  2. Scrapy爬取美女图片续集 (原创)

    上一篇咱们讲解了Scrapy的工作机制和如何使用Scrapy爬取美女图片,而今天接着讲解Scrapy爬取美女图片,不过采取了不同的方式和代码实现,对Scrapy的功能进行更深入的运用. 在学习Scra ...

  3. scrapy爬取知名问答网站(解决登录+保存cookies值+爬取问答数据)--完整版完美解决登录问题

    菜鸟写Python:scrapy爬取知名问答网站 实战(3) 一.文章开始: 可能看到这篇文章的朋友,大多数都是受慕课网bobby讲师课程的影响,本人也有幸在朋友处了解过这个项目,但是似乎他代码中登录 ...

  4. 3秒爬取百度图片网站,批量下载各种图片

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:一行数据 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  5. Scrapy爬取美女图片续集

    上一篇咱们讲解了Scrapy的工作机制和如何使用Scrapy爬取美女图片,而今天接着讲解Scrapy爬取美女图片,不过采取了不同的方式和代码实现,对Scrapy的功能进行更深入的运用. 在学习Scra ...

  6. scrapy爬取昵图网图片

    一 : 创建scrapy项目 (1) 使用命令创建项目 : scrapy startproject nipic[项目名可以随意] (2) 使用命令创建一个爬虫文件 : scrapy genspider ...

  7. scrapy爬取美女图片

    使用scrapy爬取整个网站的图片数据.并且使用 CrawlerProcess 启动. 1 # -*- coding: utf-8 -* 2 import scrapy 3 import reques ...

  8. 【python实现网络爬虫(5)】第一个Scrapy爬虫实例项目(Scrapy原理及Scrapy爬取名言名句网站信息)

    Scrapy介绍 总共有五部分组成的:具体的流程可看图示 引擎.调度器.下载器.蜘蛛和项目管道 爬取流程 针对于每个URL, Scheduler -> Downloader -> Spid ...

  9. 三十一、Scrapy爬取百度图片

    @Author:Runsen Runsen近段时间进入Scrapy,写了几个爬虫练练手,就找百度图片入手了.本文就是Scrapy的入门文章. 文章目录 目标 创建项目 分析逻辑 代码 目标 爬取 百度 ...

  10. 来来scrapy爬取各大网站每日热点新闻

    一.背景 最近玩爬虫,各种想爬,scrapy又非常好用.想多爬一点东西,决定爬一爬各大网站的热点新闻. 想到就开始做了哈 二.上代码 1.开始搭建项目 scrapy startproject craw ...

最新文章

  1. Verilog初级教程(11)Verilog中的initial块
  2. MAC 开机密码破解
  3. 8、计算机图形学——纹理的相关问题及解决办法
  4. matlab中矩阵的各种分解
  5. 降级安装_如何升级iOS13测试版,还有降级
  6. 登录验证应该是进行在客户端还是服务器端_网站登录认证方式
  7. Redis 6.0.0 GA
  8. 关系网络实战|设备关联信息定位团伙欺诈
  9. 阿里云linux主机更新hostname
  10. 20190903每日一句
  11. Go学习笔记 一篇到底
  12. 怎么看电脑网卡是否支持5g频段
  13. 学习编程比学开车要简单
  14. 关于技嘉雷电扩展卡SSDT驱动教程
  15. Mixly电子音乐:蜗牛与黄鹂鸟
  16. HDU 6656 Kejin Player(期望)
  17. 摄影中的曝光补偿、白加黑减_我是亲民_新浪博客
  18. 2019 杭电多校 E - Everything Is Generated In Equal Probability HDU 6595 数学
  19. 找出两个List集合重复的元素
  20. 禽畜养殖生产智慧管理系统方案

热门文章

  1. mysql 修改隔离级别_设置mysql隔离级别
  2. VMWare、Ubuntu、ROS安装参考汇总
  3. 第十三章 音视频播放——Qt
  4. 安装淘宝镜像cnpm时报错!npm ERR! enoent ENOENT: no such file or directory, rename
  5. OSI模型工作模式解析
  6. 360修复高危漏洞可以修复吗_怎么关闭360高危漏洞修复提醒?
  7. win10 怎么进入dos,并且通过路径运行可操作程序
  8. 掷骰子(python代码)
  9. Mybatis与springboot项目启动时出现Field mapper in ‘xxx‘ required a bean of type ‘xxx‘ that could not be found
  10. 一丶exit(1)丶exit(0)和return的区别