【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 方式获取