python中threading多线程以及传参

话不多说,上代码:

class get_article_content(object):#对象属性只有传入的是初始值和末位置
	"""抓取文章内容类"""
.............................省略
	def run(initial_value, last_value):
		article_urls = get_article_content.read_csv()#读取原始url
		datas = get_article_content.crawl_article(article_urls, initial_value, last_value)#数据抓取
		get_article_content.save_keyword_retrieval(datas)#数据保存


class thread_crawl(object):
	"""线程类"""
	def __init__(self):
		pass


	def five_threads():
		#抓取文章内容并进行检索关键词保存,5个线程
		all_article_num = len([i for i in get_article_content.read_csv()])
		tem = all_article_num // 5

		t1 = threading.Thread(target=get_article_content.run,args=[0, tem])
		t2 = threading.Thread(target=get_article_content.run,args=[tem, tem*2])
		t3 = threading.Thread(target=get_article_content.run,args=[tem*2, tem*3])
		t4 = threading.Thread(target=get_article_content.run,args=[tem*3, tem*4])
		t5 = threading.Thread(target=get_article_content.run,args=[tem*4, all_article_num])

		t1.start()
		t2.start()
		t3.start()
		t4.start()
		t5.start()
		while 1:#如果线程都结束,就排序
			if threading.activeCount() - 1 == 0:
				sort_article.sort_it('keyword_retrieval.csv')#文章排序
				break
			time.sleep(10)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值