【www.gdgbn.com--qq教程】

采集qq校友学校数据代码

php教程
/**
 * 采集qq校友学校数据
 *
 * @package zwframe
 */
 
// ####################### set php environment ###########################
error_reporting(e_all & ~e_notice);
 
// #################### define important constants #######################
define("this_script", "qqschools");
 
// ######################### require back-end ############################
require_once ("./global.php");
set_time_limit(0);
 
/**
 *  采集链接
 *  大学: http://api.pengyou.qq.com/index.php?mod=school&act=selector&schooltype=0&country=0&province=11&prefix=b
 */
 
$prefixs = range("a", "z");
$areas = range(11, 82);
 
foreach ($areas as $area)
{
 $sql = array();
 foreach ($prefixs as $prefix)
 {
  $html = "";
  $html = file_get_contents("http://api.pengyou.qq.com/index.php?mod=school&act=selector&schooltype=0&country=0&province={$area}&prefix={$prefix}");
  preg_match_all("#网页特效:choose_school((d+),"([^"]+)")#i", $html, $schools);
  unset($html);
 
  if (!empty($schools[2]))
  {
   foreach ($schools[2] as $key => $value)
   {
    $sql[] = "("{$area}0000", "{$value}", 0, "{$prefix}")";
   }
  }
 }
 unset($schools);
 
 if (!empty($sql))
 {
  ob_end_clean();
  // 写入数据库教程
  $query = "insert into schools (areaid, schoolname, schooltype, prefix) values " . implode(",", $sql);
  $zwframe->db->query_write($query);
  echo "{$area}0000 地区的大学数据导入完成...
";
  unset($sql, $query);
  flush();
  sleep(1);
 }
}
?>

注:
上传文件时需要声明是以二进制数据上传 (enctype=”multipart/form-data”). 而以二进制数据上传时$_request是获取不到input等值.(file是可以获取到)

避免的方法就是使用 $_post 或是 $_get 方式获取

 

本文来源:http://www.gdgbn.com/bangongshuma/29799/