美文网首页
多线程爬虫

多线程爬虫

作者: 暴走的金坤酸奶味 | 来源:发表于2018-12-30 21:33 被阅读0次

多线程爬虫

Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用;

队列是线程间最常用的交换数据的形式

python下多线程的思考

对于资源,加锁是个重要的环节。因为python原生的list,dict等,都是not thread safe的。而Queue,是线程安全的,因此在满足使用条件下,建议使用队列

  1. 初始化: class (FIFO 先进先出)
import queue
dataqueue = queue.Queue(maxsize=40)
  1. 包中的常用方法:
  • Queue.qsize() 返回队列的大小

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

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

  • Queue.full 与 maxsize 大小对应

  • Queue.get(block,timeout) 获取队列,timeout等待时间

  • Queue.put(值) 将一个值放入队列中

#maxsize:指定队列中能够存储的最大的数据量
dataqueue = queue.Queue(maxsize=40)

for i in range(0,50):
     if not dataqueue.full():
         dataqueue.put(i)

#判断队列是否为空
isempty = dataqueue.empty()
print(isempty)

 #判断队列是否存满了
sfull = dataqueue.full()
print(isfull)

#查看对列的大小
size = dataqueue.qsize()
print(size)

#FIFO(先进的先出)
print(dataqueue.get())

步骤

  1. 创建一个任务队列:存放的是带爬取的url地址
  2. 创建爬取线程,执行任务的下载
  3. 创建数据队列:存放爬取线程获取的页面源码
  4. 创建解析线程:解析html源码,提取目标数据,数据持久化

相关文章

  • Python爬虫第七天:多线程爬虫|Scrapy框架

    内容简述: 一:多线程爬虫 二:Scrapy框架 一:多线程爬虫原理 【示例见代码】 二:Scrapy框架...

  • Python爬虫基础教程(三)

    九、多线程爬虫 9.1利用多线程爬虫爬取糗事百科的资源: 十、爬虫代码总结: 要实现一个完整的爬虫,无外乎4...

  • 「爬虫」12爬虫之多线程爬虫

    1.多线程爬虫 多线程就是程序中的某些程序段并行执行,合理地设置多线程,可以让爬虫效率更高。 2.单线程实例 以爬...

  • Thread

    队列 线程锁 多线程,线程池 队列 多线程爬虫示例 多线程 自定义线程 线程池

  • [CP_12] Python多线程爬虫应用实践(社招职位名称获取

    目录结构 一、多线程爬虫的使用 1. 多线程实现 <关联> [Pt_04] Python进程|多进程|线程|多线程...

  • 爬虫基础05

    多线程爬虫 队列(from multiprocessing import Queue)UrlQueue = Que...

  • 男子大学生的無駄日常

    关键词:Python,爬虫,requests,BeautifulSoup,opencv,python多线程,正则表...

  • 多线程爬虫实战——爬取糗事百科

    多线程爬虫思路 我们之前写的爬虫网页,往往是等待一页内容爬取完毕后,再爬取另一页内容,效率很低,而用多线程和队列之...

  • 多线程爬虫

    1、多线程爬虫,可考虑放到线程池,把我们需要解析的URL 地址存入我们的队列中,然后去触发多线程进行操作、 代码如...

  • 多线程爬虫

    多线程爬虫 有些时候,比如下载图片,因为下载图片是一个耗时的操作。如果采用之前那种同步的方式下载。那效率肯会特别慢...

网友评论

      本文标题:多线程爬虫

      本文链接:https://www.haomeiwen.com/subject/radblqtx.html