我现在要多线程抓取一个网站内容,假设这个网站内容有105页,但是由于机器限制只能开启十个线程抓取,那么我如何做到第一个线程负责抓1-10页,第二个线程11-20页以此类推,直到最后第十个线程负责抓取91-105页,这个思路该怎么写成python代码啊?
我现在要多线程抓取一个网站内容,假设这个网站内容有105页,但是由于机器限制只能开启十个线程抓取,那么我如何做到第一个线程负责抓1-10页,第二个线程11-20页以此类推,直到最后第十个线程负责抓取91-105页,这个思路该怎么写成python代码啊?
python3
企业网站通用源码是以aspcms作为核心进行开发的asp企业网站源码。企业网站通用源码是一套界面设计非常漂亮的企业网站源码,是2016年下半年的又一力作,适合大部分的企业在制作网站是参考或使用,源码亲测完整可用,没有任何功能限制,程序内核使用的是aspcms,如果有不懂的地方或者有不会用的地方可以搜索aspcms的相关技术问题来解决。网站UI虽然不是特别细腻,但是网站整体格调非常立体,尤其是通观全
0
<code class="python">
import urllib
import queue
import threading
def download(queue,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 range(1,106): #网站内容有105页
q.put(pg)
for i in range(10):#十个线程
t = threading.Thread(target=download, args=(q,lck))
t.start()
q.join() # 等待所以任务完成
print ('结束')
if __name__ == '__main__':
main()
</code>
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号