大佬教程收集整理的这篇文章主要介绍了php与python实现的线程池多线程爬虫功能示例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了PHP与python实现的线程池多线程爬虫功能。分享给大家供大家参考,具体如下:
多线程爬虫可以用于抓取内容了这个可以提升性能了,这里我们来看PHP与python 线程池多线程爬虫的例子,代码如下:
PHP例子
PHP;"> url = $url; } public function run() { $ch = $this->worker->getConnection(); curl_setopt($ch,CURLOPT_URL,$this->url); $page = curl_exec($ch); $info = curl_getinfo($ch); $error = curl_error($ch); $this->deal_data($this->url,$page,$info,$error); $this->result = $page; } function deal_data($url,$error) { $parts = explode(".",$url); $id = $parts[1]; if ($info['http_code'] != 200) { $this->show_msg($id,$error); } else { $this->show_msg($id,"OK"); } } function show_msg($id,$msg) { echo $id."\t$msg\n"; } public function getResult() { return $this->result; } protected $url; protected $result; } function check_urls_multi_pthreads() { global $check_urls; //定义抓取的连接 $check_urls = array( 'http://xxx.com' => "xx网",); $pool = new Pool(10,"Connect",array()); //建立10个线程池 foreach ($check_urls as $url => $name) { $pool->submit(new Query($url)); } $pool->shutdown(); } check_urls_multi_pthreads(); python 多线程 def handle(sid)://这个方法内执行爬虫数据处理 pass class myThread(Thread): """docString for ClassName""" def __init__(self,sid): Thread.__init__(self) self.sid = sid def run(): handle(self.sid) threads = [] for i in xrange(1,11): t = myThread(i) threads.append(t) t.start() for t in threads: t.join()
以上是大佬教程为你收集整理的php与python实现的线程池多线程爬虫功能示例全部内容,希望文章能够帮你解决php与python实现的线程池多线程爬虫功能示例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。