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中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
php中的boolean(布尔)类型详解
Oct 28 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
解决PHP里大量数据循环时内存耗尽的方法
Oct 10 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
Jul 26 PHP
laravel框架使用阿里云短信发送消息操作示例
Feb 15 PHP
PHP二维数组分页2种实现方法解析
Jul 09 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 获取mysql数据库信息代码
2009/03/12 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
php构造函数的继承方法
2015/02/09 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
python实现图片处理和特征提取详解
2017/11/13 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
Yahoo-PHP面试题1
2016/07/20 面试题
庆元旦迎新年广播稿
2014/02/18 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
新春文艺演出主持词
2014/03/27 职场文书
公证委托书标准格式
2014/09/11 职场文书
停车场管理制度范本
2015/08/05 职场文书
python数字图像处理:图像简单滤波
2022/06/28 Python