PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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,请注明来意。