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

前端技术 2023/09/04 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 . \"\\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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/10358

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。