采集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 地區的大學數據導入完成...<br />";
unset($sql, $query);
flush();
sleep(1);
}
}
?>
注:
上傳文件時需要聲明是以二進制數據上傳 (enctype=”multipart/form-data”). 而以二進制數據上傳時$_request是獲取不到input等值.(file是可以獲取到)
避免的方法就是使用 $_post 或是 $_get 方式獲取