人人网获取高校、院系数据

项目中,需要获取所有的学校、院系、专业数据,目前项目中都是自己添加的,只有很小的一部分,而且很不全面。正好这次打算重构这块,就想着从其他大型平台上看如何获取数据

大型网站的对于这种大型数据的获取,一般都是通过 ajax 或 js文件 载入。(之前获取智联的行业、职位分类,就是这么找的!)

对于学校,想到了大学时的 '人人网',找了个人设置中的修改学校,添加学校,里面有选择学校!找页面请求,定位到了:
	http://s.xnimg.cn/a85690/allunivlist.js

json解析过程各种费劲,各种问题:	
	json数据内容、编码可能有问题,导致解析不正确!里面可能有特殊字符!目前只匹配国内院校即可!进行处理:

		$school_json = file_get_contents('http://s.xnimg.cn/a85690/allunivlist.js');
		$school_json = strstr($school_json, '[');
		// 这个是表示只匹配第一组,即 '中国'
		$school_json = substr($school_json, 0, (strpos($school_json, '}]}') + 3));
		$school_json .= ']';

		$school_json = str_replace("\t", '', $school_json);		// 安徽某个院校,录入时,有人不小心使用了 "\t"(我找了N久)
		$school_json = preg_replace('/\'"/', '\'', $school_json);
		$school_json = preg_replace('/:\'/', ':"', $school_json);
		$school_json = preg_replace('/\'}/', '"}', $school_json);
		$school_json = preg_replace('/(?P<key>\w+):/i', '"$1":', $school_json);
		$school_array = json_decode($school_json, true);

注意:
	对于字符、编码这边处理非常不合适,我只是死方法、笨方法处理的!

附同事找的一篇文章,正好也是处理的人人网的学校、院系:
	https://www.cnblogs.com/handt/archive/2013/03/11/2954511.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值