发布时间:2015-06-17 11:51:53作者:知识屋
本文实例讲述了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 . "rn"; } $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文件进行加密方法 PHP实现加密的几种方式介绍
php生成圆角图片的方法 电脑中php怎么生成圆角图片教程
用PHP构建一个留言本方法步骤 php怎么实现留言板功能
php中三元运算符用法 php中的三元运算符使用说明
php文件如何怎么打开方式介绍 php文件用什么打开方法
PHP怎么插入数据库方法步骤 php编程怎么导入数据库教程
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
PHP 获取远程文件大小的3种解决方法 如何用PHP获取远程大文件的大小
20个实用PHP实例代码 php接口开发实例代码详细介绍
如何架设PHP服务器方法步骤 怎么搭建php服务器简单教程