项目中,需要获取所有的学校、院系、专业数据,目前项目中都是自己添加的,只有很小的一部分,而且很不全面。正好这次打算重构这块,就想着从其他大型平台上看如何获取数据大型网站的对于这种大型数据的获取,一般都是通过 ajax 或 js文件 载入。(之前获取智联的行业、职位分类,就是这么找的!)对于学校,想到了大学时的 '人人网',找了个人设置中的修改学校,添加学校,里面有选择学校!找页面请求,定位到了:http://s.xnimg.cn/a85690/allunivlist.jsjson解析过程各种费劲,各种问题: 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