779084229yyt

---恢复内容开始---

python Queue模块有三种队列及构造函数

1. FIFO队列先进先出,方法如下:

class Queue.Queue(队列长度)

2.LIFO类似于栈,先进后出,方法如下:

class Queue.LifoQueue(队列长度)

3.还有一种是优先级别越低越先出,方法如下:

class Queue.PriorityQueue(队列长度)

其中,队列长度可以省略,省略后长度为数据的长度。

设q=Queue.Queue(),q为队列的存储对象,q有很多方法。

q.qsize()  返回队列大小

q.empty() 是否为空

q.full()   是否为满

q.get([block[,timeout]])  获取队列,timeout为等待时间

q.get_nowait() 相当于q.get(Flase)

q.put([item[,timeout])   写入队列,timeout为等待时间

q.put_nowait(item)  相当于q.put(item,False)

q.task_done()  向任务已完成的队列发送一个信号

q.join()   意味着等到队列为空,再执行别的操作

 

from bs4 import BeautifulSoup
import requests
import queue
# 存放三个网址
urls=["https://www.baidu.com","http://www.163.com","http://www.126.com"]
q=queue.Queue()
#使用for循环,利用队列的“put”方法,将每个网址依次加入到q队列中。
for url in urls:
    q.put(url)
#当q为空,用到empty()方法,不为空输出"get()"方法获得队列中url元素
while not q.empty():
    wb_data=requests.get(q.get())
    soup=BeautifulSoup(wb_data.text,\'lxml\')
    print(soup)

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
  • 2021-08-06
  • 2021-08-30
猜你喜欢
  • 2022-02-10
  • 2021-07-21
  • 2021-11-01
  • 2021-07-08
  • 2021-11-19
  • 2021-12-06
相关资源
相似解决方案