Код:
<?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 */ ?>