Python爬虫教程:图虫网多线程爬取

我们这次也玩点以前没写过的,使用python中的queue,也就是队列

下面是我从别人那顺来的一些解释,基本爬虫初期也就用到这么多

Python学习资料或者需要代码、视频加Python学习群:960410445

1. 初始化: classQueue.Queue(maxsize)FIFO先进先出2. 包中的常用方法: - queue.qsize() 返回队列的大小

    - queue.empty() 如果队列为空,返回True,反之False

    - queue.full() 如果队列满了,返回True,反之False

    - queue.full 与 maxsize 大小对应

    - queue.get([block[, timeout]])获取队列,timeout等待时间3. 创建一个“队列”对象

    import queue    myqueue = queue.Queue(maxsize = 10)4. 将一个值放入队列中

    myqueue.put(10)5. 将一个值从队列中取出

    myqueue.get()

开始编码

首先我们先实现主要方法的框架,我依旧是把一些核心的点,都写在注释上面

代码运行之后,成功启动了4个线程,然后等待线程结束,这个地方注意,你需要把 ThreadCrawl 类补充完整

运行结果

线程已经开启,在run方法中,补充爬取数据的代码就好了,这个地方引入一个全局变量,用来标识爬取状态

CRAWL_EXIT = False

先在main方法中加入如下代码

经过测试,data_queue 里面有数据啦!!,哈哈,下面在使用相同的操作,去下载图片就好喽

完善main方法

还是补充一个 ThreadDown 类,这个类就是用来下载图片的。

运行之后,等待图片下载就可以啦~~

关键注释已经添加到代码里面了,收图吧 (◕ᴗ◕✿),这次代码回头在上传到github上 因为比较简单

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 线程 操作系统线程理论 线程概念的引入背景 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有...
    go以恒阅读 5,598评论 0 6
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,131评论 0 10
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 9,667评论 4 16
  • Python多线程原理与实战 目的: (1)了解python线程执行原理 (2)掌握多线程编程与线程同步 (3)了...
    仙灵儿阅读 2,839评论 0 0
  • 触摸着皮肉,隔着骨头,感觉人就是一副用血肉包裹着的骨架。 每天都会进食,进行肢体运动,可以是习以为常的,可以是下意...
    翱蓝阅读 663评论 0 0