今天试着优化一下查询关键词排名代码百度关键词排名如何,在有大量关键词的时候百度关键词排名如何,可能单线程查询排名速度会比较慢,这次试着用进程和线程同时运行,查询关键词排名速度非常快了。
首先运行一下效果看看:
检测一下,查询关键词排名的准确性:
代码核心原理
进程池+多线程实现,进程池根据你电脑的cpu核数同时进行运行,线程池根据查询页数开启线程数。前10页依次查询,遇到当前页有排名,就return返回,不再执行后面线程
def task_pool(): info = connect_db() # get_cookies() with ProcessPoolExecutor(max_workers=8) as executor: executor.map(main,list(info))def range_thr2(keyword,web_name): q = Queue() for page in range(0,100,10): t = Thread(target=spider_index,args=(keyword,q),kwargs={'page':str(page)}) t.start() html = q.get() ranking = parse_ranking(html,web_name) # print(ranking) t.join() return ranking这样实现了快速查询关键词排名的任务了。