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通用分页类page.php[仿google分页]
Aug 31 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
利用PHP实现智能文件类型检测的实现代码
Aug 02 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
php curl post 时出现的问题解决
Jan 30 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
Aug 23 PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 PHP
非常重要的php正则表达式详解
Jan 04 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
php workerman定时任务的实现代码
Dec 23 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的access操作类
2008/04/09 PHP
浅析php学习的路线图
2013/07/10 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
canvas实现图像截取功能
2017/02/06 Javascript
js中的面向对象入门
2017/03/06 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
python检测远程服务器tcp端口的方法
2015/03/14 Python
Python实现股市信息下载的方法
2015/06/15 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
python简单实现9宫格图片实例
2020/09/03 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
python re模块和正则表达式
2021/03/24 Python
会计实习生工作总结的自我评价
2013/10/07 职场文书
学生安全责任书模板
2014/07/25 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
2014年女职工工作总结
2014/11/27 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
MySQL锁机制
2021/04/05 MySQL
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技