QQ校友大学数据采集程序(0 位领导批示)

最近需要用到这方面的数据.简单写了一下.将QQ校友中中国大学全部采集下来.
部分代码需要根据实际情况进行修改(如数据写入部分.我用的zwFrame框架自带方法)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?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("#javascript: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);
	}
}
?>

相关文章

分享到新浪微博 推荐到豆瓣 分享到 Google Reader 加入Google书签 嘀咕一下 分享到饭否 分享到做啥 分享到叽歪 分享到鲜果 加入QQ书签 加入百度搜藏 加入雅虎书签 分享到垦一垦

银子曰:还没有领导题词?

请领导指示

验证码 (必须)

Additional comments powered by BackType

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志