Код:
     <?php  
set_time_limit(0);  
//-----------------//  
$proxy_txt = "proxy.txt";  
//-----------------//  
function curl($url)  
{  
$ch = curl_init($url);  
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");  
curl_setopt($ch, CURLOPT_HEADER, 1);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
return $res_index  = curl_exec($ch);  
}  
$proxy_file = "proxy_temp.txt";  

/* samair.ru */  
$page = curl('http://www.samair.ru/proxy/proxy-01.htm');  
preg_match_all('#<a href="proxy-(.*?).htm">#', $page, $page_match);  

for ($i = 0; $i < count($page_match[0])-1; $i++)  
{  
$curl = curl('http://www.samair.ru/proxy/proxy-'.$page_match[1][$i].'.htm');  

$fh = fopen($proxy_file, "a+");  
for ($p = 0; $p < 15; $p++)  
{  
preg_match_all('#<tr><td>(.*?)</td><td>#', $curl, $proxy);  
$success - fwrite($fh, $proxy[1][$p]."\r\n");  
}  
fclose($fh);  
}  

/* proxy4free.com */  
for ($p = 1; $p <= 2; $p++)  
{  
$list1 = curl('http://www.proxy4free.com/page'.$p.'.html');  
$list1 = explode('<tr bgcolor="#ffffff" class="text" height=10>',$list1);  

$fh = fopen($proxy_file, "a+");  
for ($i = 1; $i <= 90; $i++)  
{  

if(preg_match_all('#<td>(.*?)</td>#', $list1[$i], $proxy)){  

$success - fwrite($fh, $proxy[1][0].':'.$proxy[1][1]."\r\n");  
}  
}  
fclose($fh);  
}  


/* hideme.ru */  
$list1 = curl('http://hideme.ru/proxy-list/proxy-list-1-1');   // Лист с прокси 1...  
$list2 = curl('http://hideme.ru/proxy-list/proxy-list-2-1');  // ...2  
$fast1 = curl('http://hideme.ru/proxy-list/fast-proxy-1');   // Лист с быстрыми прокси 1...  
$fast2 = curl('http://hideme.ru/proxy-list/fast-proxy-2');  // ...2  

preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $list1, $list1);  
preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $list2, $list2);  
preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $fast1, $fast1);  
preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $fast2, $fast2);  

$fh = fopen($proxy_file, "a+");  
$success - fwrite($fh, strip_tags(str_replace('<br>',"\r\n",$list1[1])."\r\n".str_replace('<br>',"\r\n",$list2[1])."\r\n".str_replace('<br>',"\r\n",$fast1[1])."\r\n".str_replace('<br>',"\r\n",$fast2[1])."\r\n"));  
fclose($fh);  

/* Удаляем одинаковые прокси */  
$_file=file($proxy_file); 
$_file=array_values(array_unique($_file)); 
for($i = 0; $i<count($_file); $i++) { 
    $a = explode('<script', $_file[$i]); 
    $_file[$i] = $a[0]."\r\n"; 
} 
   
$fp=fopen($proxy_file,"w+");    
for($i=0;$i<count($_file);$i++)    
{    
flush();    
fputs($fp,$_file[$i]);    
}    
fclose($fp);  

file_put_contents($proxy_txt,file_get_contents($proxy_file));  
unlink($proxy_file)  
 /* geforse.name */  
?>