Welcome 微信登录

首页 / 网页编程 / PHP / php采集中国代理服务器网的方法

本文实例讲述了php采集中国代理服务器网的方法。分享给大家供大家参考。具体如下:
<?php/** * 采集中国代理服务器网 最新列表 */class proxy{/* 需采集列表*/public $list;/* 代理列表 保存路径 */public $save_path = "proxy.txt";/* 获取采集列表 */function get_list($page){$url = "http://www.cnproxy.com/proxy(*).html";// 处理列表$this->list = preg_replace("/(*)/", $page, $url);return $this->list;}/* 采集代理内容 */function get($page){$this->get_list($page);$file = stripslashes(file_get_contents($this->list));$zz = "/<tr><td>([0-9.]+)<SCRIPT type=text/javascript>document.write(":"([+a-z]+))</SCRIPT></td><td>[w]+</td><td>[w,]+</td>/is";preg_match_all($zz, $file, $temp);unset($temp[0]);$th = array("z", "m", "k", "l", "d", "x", "i", "w", "q", "b");$th2 = array(3, 4, 2, 9, 0, 5, 7, 6, 8, 1);foreach ($temp[2] as $k=>$v) {$v = preg_replace("/[+]+/", "", $v);$s = str_replace($th, $th2, $v);$re .= $temp[1][$k] . ":" . $s . "
";}$this->save($re);return true;}/* 保存 */function save($re){return file_put_contents($this->save_path, $re, FILE_APPEND);}/* 读取 */function read(){return file_get_contents($this->save_path);}}// 初始化采集类$p = new proxy;$start = 1;$end = 10;// 控制if($_GET["a"] == "start") {echo "正在发送采集请求";echo "<meta http-equiv="Refresh" content="3;URL=?p=1">";} elseif(isset($_GET["p"])) {$i = $_GET["p"]++;if($i >= $end+1) {exit("<meta http-equiv="Refresh" content="0;URL=?a=end">");} else {echo "正在请求列表 ". $i ." > ". $end;if($p->get($i)) {echo "<meta http-equiv="Refresh" content="3;URL=?p=".$_GET["p"]++."">";}}} elseif($_GET["a"] == "end") {echo "采集完毕";} else {echo "<form><input type="hidden" name="a" value="start" /><input type="submit" value="开始采集" /> </form>";}?>
希望本文所述对大家的php程序设计有所帮助。