爬取拉勾职位信息和数据可视化(下)

2018-06-18 02:57:01 PHP 阅读 (3227) 评论(0)

        利用Python语言采集拉勾网的Python职位信息,存到MySQL,然后利用PHP做数据可视化处理。本文主要是PHP根据之前保存到mysql中拉勾职位数据做数据接口,提供给前端echarts生成各种图表。我这里是用前后端分离式的,PHP做数据接口,前端请求接口数据,前端渲染数据。


一.   PHP部分

        采用最新的ThinkPHP5.1.16作为开发框架,tp5.1还是很好用的。

      //地区-职位柱状图
   public function charts_data(){
       $data = [];
       $jobs= Db::name('lagou_job')->field('area,tags,education,experience')->where('tags != ""')->select();
       $jobs_tags = [];
       $jobs_educations = [];
       $jobs_areas = [];
       $jobs_experiences = [];
       foreach ($jobs as $v){
           // 标签
           $tag = explode(';',$v['tags']);
           foreach ($tag as $vv){
               array_push($jobs_tags, strtolower($vv));
           }
           // 学历
        array_push($jobs_educations, $v['education']);
           // 地区
        array_push($jobs_areas,$v['area']);
           // 经验
        array_push($jobs_experiences, $v['experience']);
       }
       //工作经验数组
     $experience_chart = array_count_values($jobs_experiences);
       arsort($experience_chart);
       //地区数组
     $area_chart = array_count_values($jobs_areas);
       arsort($area_chart);
       //学历数组
      $education_chart = array_count_values($jobs_educations);
       arsort($education_chart);
       //标签表格数据
      $jobs_tags = array_count_values($jobs_tags);
       arsort($jobs_tags);
       $tags_chart_legendData = array_keys($jobs_tags);
       $legendData_length = count($tags_chart_legendData);
       $tags_chart_selected = [];
       $tags_chart_seriesData = [];
       for($i=0; $i<$legendData_length;$i++){
           $name = $tags_chart_legendData[$i];
           $tags_chart_selected[$name] = $i<=10;
           $item = ['name'=>$name, 'value'=>$jobs_tags[$name]];
           array_push($tags_chart_seriesData,$item);
       }
       $data = [
           'area_chart'=>[
               'x'=>array_keys($area_chart),
               'y'=>array_values($area_chart),
           ],
           'tags_chart'=>[
               'legendData'=>$tags_chart_legendData,
               'selected'=>$tags_chart_selected,
               'seriesData'=>$tags_chart_seriesData
           ],
           'education_chart'=>[
               'x'=>array_keys($education_chart),
               'y'=>array_values($education_chart)
           ],
           'experience_chart'=>[
               'x'=>array_keys($experience_chart),
               'y'=>array_values($experience_chart)
           ]
       ];
       return $data;


二.    前端部分

        前端我是用的layui,layui也挺好用的,很多内置样式和内置插件。

        

image.png

image.png


三.    项目地址

        这个数据可视化里面东西是很多的,我就不一一列举了,有兴趣的可以去我的码云上爬虫数据可视化获取源码。

线上可访问的地址:爬虫数据可视化

评论