(博彩导航网) python多线程任务分发的问题
在线博彩导航
在线博彩导航
当前位置 : 在线博彩导航 > 博彩导航网

(博彩导航网) python多线程任务分发的问题

我现在要多线程抓取一个网站内容,假设这个网站内容有105页,但是由于机器限制只能开启十个线程抓取,那么我如何做到第一个线程负责抓1-10页,第二个线程11-20页以此类推,直到最后第十个线程负责抓取91-105页,这个思路该怎么写成python代码啊?

python3


import urllib
import queue
import threading

def downloadqueue,lck:
    """
    工作者,当队列中没有任务的时候就执行退出。
    """
    while not queue.empty:
        pg = queue.get
        
        #在此写 抓取网页的代码
        #然后把抓到的内容写入文件
        
        lck.acquire
        print 第 %d 页已完成%pg 
        lck.release
        queue.task_done


def main:
    """
    主线程, 
    """
    print 开始下载……
    lck = threading.Lock
    q = queue.Queue
    for pg in range1,106: #网站内容有105页
        q.putpg
        
    for i in range10:#十个线程
        t = threading.Threadtarget=download, args=q,lck
        t.start
    q.join       # 等待所以任务完成
    print 结束

if __name__ == __main__:
    main

栏目列表

广告位

在线博彩导航