php采集中国代理服务器网的方法


Posted in PHP onJune 16, 2015

本文实例讲述了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 . "\r\n";
    }
    $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配置文件中最常用四个ini函数
Mar 19 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
PHP 批量删除数据的方法分析
Oct 30 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
May 15 PHP
探讨php中header的用法详解
Jun 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
PHPUnit安装及使用示例
Oct 29 PHP
分享10段PHP常用代码
Nov 11 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
PHP实现的文件浏览器功能简单示例
Sep 12 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 PHP
分享php分页的功能模块
Jun 16 #PHP
PHP生成plist数据的方法
Jun 16 #PHP
php动态绑定变量的用法
Jun 16 #PHP
php实现在服务器端调整图片大小的方法
Jun 16 #PHP
PHP正则验证Email的方法
Jun 15 #PHP
PHP实现通过正则表达式替换回调的内容标签
Jun 15 #PHP
PHP检测用户语言的方法
Jun 15 #PHP
You might like
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
护士自我评价
2014/02/01 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
闪闪的红星观后感
2015/06/08 职场文书
2015双创工作总结
2015/07/24 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL