1. 程式人生 > >php74 騎士 火車頭採集簡歷 介面及採集規則

php74 騎士 火車頭採集簡歷 介面及採集規則

研究了下騎士官方釋出的火車頭採集介面api並沒有相關簡歷對應的採集介面

因此就自己寫了個方法對應簡歷採集介面實現可查詢。相關欄位匹配等。和企業採集介面匹配基本一樣。

支援圖片採集。

圖片採集到的檔案目錄需要自己對採集規則進行再修改。

現在對api檔案修改如下

\admin\api\locoyspider.php   該檔案就是介面檔案 現在存在的有普通文章採集介面和企業採集介面沒有建立採集介面。那麼我們就添加個簡歷採集介面

再最下面新增程式碼

elseif($act=="resumes")
{
	locoyspider_addresumes();
	exit("新增失敗");
}

然後找到

/admin/include/admin_locoyspider_fun.php

檔案。該檔案就是處理火車頭資料的方法檔案

可以再最下面新增

//匹配簡歷婚姻狀況
function locoyspider_resumes_marriage($str=NULL)
{	
	return get_locoyspider_resumes_marriage($str);
}
function get_locoyspider_resumes_marriage($marriage_cn=NULL,$marriage=NULL)
{
		if ($marriage_cn=="未婚" || $marriage=="1")
		{
		return array("id"=>1,"cn"=>"未婚");
		}
		elseif ($marriage_cn=="已婚" ||  $marriage=="2")
		{
		return array("id"=>2,"cn"=>"未婚");
		}
		elseif ($marriage_cn=="保密"  ||  $marriage=="3")
		{
		return array("id"=>3,"cn"=>"保密");
		}
		else
		{
			return get_locoyspider_resumes_marriage("",3);//匹配不到的情況下防護保密狀態
		}
}

找到

再傳參裡面新增一引數  

$utype=1
//採集註冊會員
function locoyspider_user_register($email=NULL,$utype=1)
{...

}

然後就在該方法體裡面查詢

$setsqlarr['utype']=1;   修改為  $setsqlarr['utype']=$utype;

然後 新增簡歷的方法

//新增簡歷
function locoyspider_addresumes()
{
	global $locoyspider;
	//新增會員 個人會員型別
		$setsqlarr['uid']=locoyspider_user_register(trim($_POST['email']),2);
		if ($setsqlarr['uid']=="") exit("新增會員出錯");
	$uid=$setsqlarr['uid'];//使用者id
	//step1新增簡歷基本資訊
	$setsqlarr['title']=trim($_POST['title'])?trim($_POST['title']):exit('請填寫簡歷名稱!');
	$setsqlarr['fullname']=trim($_POST['fullname'])?trim($_POST['fullname']):exit('請填寫姓名!');
	//匹配簡歷 性別
		$sex=locoyspider_jobs_sex(trim($_POST['sex_cn']));
	$setsqlarr['sex']=$sex['id'];
	$setsqlarr['sex_cn']=$sex['cn'];
	
	$birthage=intval($_POST['birthdate']);
	if($birthage<100){
	$setsqlarr['birthdate']=intval(2012-$birthage);
	}else{
	$setsqlarr['birthdate']=intval($_POST['birthdate'])>1945?intval($_POST['birthdate']):exit('請正確填寫出生年份');
	}
	$setsqlarr['height']=intval($_POST['height']);
	
	//匹配婚姻狀況
		$marriage=locoyspider_resumes_marriage($_POST['marriage_cn']);
	$setsqlarr['marriage']=$marriage['id'];//婚姻狀況 1 未婚 2 已婚 3 保密
	$setsqlarr['marriage_cn']=$marriage['cn'];
	
	//匹配要求工作經驗
		$experience=locoyspider_jobs_experience(trim($_POST['experience_cn']));
	$setsqlarr['experience']=$experience['id'];	
	$setsqlarr['experience_cn']=$experience['cn'];

	//戶口所在地
	$setsqlarr['householdaddress']=trim($_POST['householdaddress'])?trim($_POST['householdaddress']):exit('請填寫戶口所在地!');	
	
	//匹配要求學歷
		$education=locoyspider_jobs_education(trim($_POST['education_cn']));
	$setsqlarr['education']=$education['id'];
	$setsqlarr['education_cn']=$education['cn'];
	
	$setsqlarr['tag']='';
	$setsqlarr['telephone']=trim($_POST['telephone']);
	$setsqlarr['email']=trim($_POST['email']);
	$setsqlarr['email_notify']=0;
	$setsqlarr['address']=trim($_POST['address']);
	$setsqlarr['website']=trim($_POST['website']);
	$setsqlarr['qq']=trim($_POST['qq']);
	$setsqlarr['addtime']=$timestamp;
	$setsqlarr['refreshtime']=$timestamp;
	$setsqlarr['subsite_id']=0;
	//圖片路徑問題
	if(!empty($_POST['photosrc'])){
	$imgurllength=strpos($_POST['photosrc'],"style")-strpos($_POST['photosrc'],"thumb")-9;
	$imgurl=substr($_POST['photosrc'],strpos($_POST['photosrc'],"thumb")+6,$imgurllength);

	$setsqlarr['photo_img']=trim($_POST['photosrc'])==''?'':$imgurl;
	}
	$setsqlarr['display_name']=(trim($setsqlarr['fullname'])=="某某"?"2":"3");//姓名顯示方式 1 真實姓名 2 編號 3 姓**	
	if(trim($setsqlarr['fullname'])=="某某"){
		$setsqlarr['fullname']=trim($setsqlarr['fullname']).res_randstr(4);
	}
	$setsqlarr['audit']=1;//稽核狀態1 通過 2未通過 3 刪除
	$pid=inserttable(table('resume'),$setsqlarr,1);//簡歷id
	if (empty($pid)) exit("簡歷儲存失敗!");
	unset($setsqlarr);
	//step2
	//更新詳細資訊
	$resumearr['recentjobs']=trim($_POST['recentjobs']);//最近工作過的職位
	//期望崗位性質
		$nature=locoyspider_jobs_nature(trim($_POST['nature_cn']));
	$resumearr['nature']=$nature['id'];
	$resumearr['nature_cn']=$nature['cn'];
	//期望工作地區
		$district=locoyspider_jobs_district(trim($_POST['district_cn']));
	$resumearr['district']=$district['district'];
	$resumearr['sdistrict']=$district['sdistrict'];
	$resumearr['district_cn']=$district['district_cn'];
	//期望月薪
		$wage=locoyspider_jobs_wage(trim($_POST['wage_cn']));
	$resumearr['wage']=$wage['id'];
	$resumearr['wage_cn']=$wage['cn'];
	//期望從事行業
		$trade=locoyspider_company_trade(trim($_POST['trade_cn']));
	$resumearr['trade']=$trade['id'];
	$resumearr['trade_cn']=$trade['cn'];
	$resumearr['audit']=1;
	
	//匹配職位  一個職位
	require_once(QISHI_ROOT_PATH.'include/fun_personal.php');
		$category=locoyspider_jobs_category(trim($_POST['intention_jobs']));//$_POST['jobs_category']
	$resumearr['intention_jobs']=trim($category['category_cn']);
	add_resume_jobs($pid,$uid,$category['category'].$category['subclass'])?"":exit('求職意向更新失敗');
	//更新一個求職意向
	updatetable(table('resume'),$resumearr," id='{$pid}'  AND   uid='{$uid}'");
	updatetable(table('resume_tmp'),$resumearr," id='{$pid}'  AND   uid='{$uid}'");
	unset($resumearr);
	//step3
	//技能特長
	$setsqlarrspecialty['specialty']=!empty($_POST['specialty'])?$_POST['specialty']:'未填寫求職意向!';
	$setsqlarrspecialty['audit']=1;
	updatetable(table('resume'),$setsqlarrspecialty," id='".intval($pid)."' AND uid='".intval($uid)."'");
	updatetable(table('resume_tmp'),$setsqlarrspecialty," id='".intval($pid)."' AND uid='".intval($uid)."'");
	unset($setsqlarrspecialty);
	//step4
	//教育經歷
	$seteducationarr['uid']=$uid;
	$seteducationarr['pid']=$pid;
	$seteducationarr['start']=trim($_POST['educationstart']);
	$seteducationarr['endtime']=trim(!empty($_POST['educationendtime'])?$_POST['educationendtime']:'未新增教育經歷');
	$seteducationarr['school']=trim($_POST['educationschool']);
	$seteducationarr['speciality']=trim($_POST['educationspeciality']);
	$educationstep4=locoyspider_jobs_education(trim($_POST['educationstep4']));
	$seteducationarr['education']=$educationstep4['id'];
	$seteducationarr['education_cn']=$educationstep4['cn'];
	if (!inserttable(table('resume_education'),$seteducationarr)){
		exit("儲存學歷失敗!");
	}
	unset($seteducationarr);
	//step5
	//工作經驗
	$setworkarr['uid']=$uid;
	$setworkarr['pid']=$pid;
	$setworkarr['start']=trim($_POST['workstart']);
	$setworkarr['endtime']=trim($_POST['workendtime']);
	$setworkarr['companyname']=trim(!empty($_POST['workcompanyname'])?$_POST['workcompanyname']:'未新增工作經驗');
	$setworkarr['jobs']=trim($_POST['workjobs']);
	$setworkarr['companyprofile']=trim($_POST['workcompanyprofile']);
	$setworkarr['achievements']=trim($_POST['workachievements']);
	if (!inserttable(table('resume_work'),$setworkarr))
		{
			exit("儲存工作經歷失敗");
		}
		unset($setworkarr);
	//step6
	//培訓經歷
	$settrainingarr['uid']=$uid;
	$settrainingarr['pid']=$pid;
	$settrainingarr['start']=trim($_POST['trainingstart']);
	$settrainingarr['endtime']=trim($_POST['trainingendtime']);
	$settrainingarr['agency']=trim(!empty($_POST['trainingagency'])?$_POST['trainingagency']:'未新增培訓經歷');
	$settrainingarr['course']=trim($_POST['trainingcourse']);
	$settrainingarr['description']=trim($_POST['trainingdescription']);
	if (!inserttable(table('resume_training'),$settrainingarr))
	{
	exit("儲存培訓經歷失敗!");
	}
	unset($settrainingarr);
	//step7
	//頭像照片
	require_once(QISHI_ROOT_PATH.'include/upload.php');
	
	global $db;
	$j=$db->getone("select * from ".table('resume')." where id='{$pid}' AND uid='{$uid}' LIMIT 1");
	$searchtab['id']=$j['id'];
	$searchtab['uid']=$j['uid'];
	$searchtab['subsite_id']=$j['subsite_id'];
	$searchtab['sex']=$j['sex'];
	$searchtab['nature']=$j['nature'];
	$searchtab['marriage']=$j['marriage'];
	$searchtab['experience']=$j['experience'];
	$searchtab['district']=$j['district'];
	$searchtab['sdistrict']=$j['sdistrict'];
	$searchtab['wage']=$j['wage'];
	$searchtab['education']=$j['education'];
	$searchtab['photo']=$j['photo'];
	$searchtab['refreshtime']=$j['refreshtime'];
	$searchtab['talent']=$j['talent'];
	if(!inserttable(table('resume_search_rtime'),$searchtab)){
	exit("resume_search_rtime 失敗");
	}
	$searchtab['key']=$j['key'];
	if(!inserttable(table('resume_search_key'),$searchtab)){
	exit("resume_search_key 失敗");
	}
	unset($searchtab);
	$tag=explode('|',$j['tag']);
	$tagindex=1;
	$tagsql['tag1']=$tagsql['tag2']=$tagsql['tag3']=$tagsql['tag4']=$tagsql['tag5']=0;
	if (!empty($tag) && is_array($tag))
	{
		foreach($tag as $v)
		{
		$vid=explode(',',$v);
		$tagsql['tag'.$tagindex]=intval($vid[0]);
		$tagindex++;
		}
	}
	$tagsql['id']=$j['id'];
	$tagsql['uid']=$j['uid'];
	$tagsql['subsite_id']=$j['subsite_id'];
	$tagsql['experience']=$j['experience'];
	$tagsql['district']=$j['district'];
	$tagsql['sdistrict']=$j['sdistrict'];
	$tagsql['education']=$j['education'];
	if(!inserttable(table('resume_search_tag'),$tagsql)){
	exit("resume_search_tag 失敗");
	}
	//更新完成度
	check_resume($uid,$pid);
	exit("簡歷儲存成功!");
}


再方法中對於某些網站採集不到簡歷姓名的可直接傳入某某兩字。還有頭像圖片的一些都可以看下程式碼。

到此修改介紹。

關於修改好的檔案和火車頭採集規則請到我的資源裡面找。文章不能上傳檔案

名字為     php騎士火車頭簡歷採集介面和釋出規則


資源壓縮包裡面有三個檔案*.wpm是火車頭資料採集平臺免費版最新版本的釋出模組

修改的2個php檔案是基於官方的火車頭資料處理檔案。
locoyspider_li.php 放在admin/api 資料夾即可。
admin_locoyspider_fun.php 放在admin/include 替換前先最好備份。
一下是對有php基礎的童鞋說明。可以用BCompare 軟體比較對應原來的官方檔案可看到修改了那些程式碼。
然後參考註釋可以修改下自己對應欄位的處理方式。。。。。。

相關推薦

php74 騎士 火車頭採集簡歷 介面採集規則

研究了下騎士官方釋出的火車頭採集介面api並沒有相關簡歷對應的採集介面 因此就自己寫了個方法對應簡歷採集介面實現可查詢。相關欄位匹配等。和企業採集介面匹配基本一樣。 支援圖片採集。 圖片採集到的檔案目錄需要自己對採集規則進行再修改。 現在對api檔案修改如下 \admi

從0開始搭建ELK採集日誌的簡單應用

關於ELK的理論介紹、架構圖解說,很多部落格都有很詳細的講解可以參考。本文主要記錄了elk的簡單搭建和簡單應用。 安裝前準備 1、環境說明: IP 主機名 部署服務 10.0.0.101(centos7) test101

Ceilometer外掛採集資料原理過程

本部落格所有文章採用的授權方式為 自由轉載-非商用-非衍生-保持署名 ,轉載請務必註明出處,謝謝。 宣告: 本部落格歡迎轉發,但請註明出處,保留原作者資訊 部落格地址:孟阿龍的部落格 所有內容為本人學習、研究、總結。如有雷同,實屬榮幸 注: 本文以Opens

ADC採集噪聲問題均方根值濾波與Kalman濾波比較

    有一陣子筆者在做一個PT100熱電阻的調理電路的時候採用了,使用恆流源的方式測熱電阻的阻值。為了採集方便,將0.3mA的電流接入PT100直接把ADC輸入端接在了PT100的兩端。之後再輸出溫度的時候資料非常亂。查閱資料受到啟發,採用求該訊號的有效值(均方根值)方法進

ecshop資料採集釋出介面,zencart,lightinthebox,shopex 採集,快客

a girl and a boy were on a motorcycle, speeding through the night.  一天夜裡,男孩騎摩托車帶著女孩超速行駛  they loved each other a lot..  他們彼此深愛著對方  girl:"

【Day48】Redis監控主要指標採集方法

公司的Redis業務很多,Redis監控自然也是DB監控的一大模組,包括採集、展示、監控告警。本文主要介紹Redis監控的主要指標和採集方法。   一、Redis監控系統邏輯   1、DBA通過前臺

三分鐘看懂大資料風控中使用者行為資料的採集、分析應用( 轉 )

據統計,目前銀行傳統的風控模型對市場上70%的客戶是有效的,但是對另外30%的使用者,其風控模型有效性將大打折扣。大資料風控作為傳統風控方式補充,主要利用行為資料來實施風險控制,使用者行為資料可以作為另外的30%客戶風控的有效補充。那麼,大資料風控運營中,會主要分析使用者的哪

一步步教您學會大資料採集之小說資料採集教程

本文介紹如何使用后羿採集器的智慧模式,免費採集樂文小說網上的小說資料。 採集工具簡介: 后羿採集器(www.houyicaiji.com)是一款基於人工智慧技術的網頁採集器,只需要輸入網址就能夠自動識別網頁資料,無需配置即可完成資料採集,是業內首家支援三種作業系統(包括Windows、Mac和Linux)

微信小程式(看文件寫例項十)微信小程式課堂寶APP實現我的模組相關介面邏輯

繼上篇博文,這篇完成最後一個模組,即我的模組。 一、頁面效果 這個模組是和使用者型別相關的,因此老師賬號和學生賬號能看的功能不一樣,老師端效果如下: 點選頭像到達個人資訊如下: 點選後可以做相應的修改。學生端的介面如下: 修改密碼的頁面如下: &nbs

介面介面測試

前情摘要:心心念了好久的學習終於開始了---自動化測試。 不能浪費大好青春,不能浪費Money。加油 +++++++++++++++++++++++++我是華麗麗的分割線+++++++++++++++++++++++++++++++ 談到介面測試,就不得不從基礎開始,什麼是介面?什麼是介面測試?介面測試

Java的介面例項 Java的介面例項

Java的介面及例項   一、定義 Java介面(Interface),是一系列方法的宣告,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。   介面定義的一般

開發返回使用者列表的post介面Cookies驗證

開發返回使用者列表的post介面及Cookies驗證 一、lombok外掛安裝 在Settings→Plugins→lombok安裝 在Settings→Build,Excution,Deployment→Compiler→Java Compiler頁面Use compiler設定

java List介面 Iterator和ListIterator的區別

List介面是Collection介面的一個子介面,繼承了Colelction中的方法,同時還有自己的方法 主要有以下幾種 1.void add(int index,object element):在指定索引位置新增元素,新增在中間位置時,後面的元素依次往後移置,新增的位置可以在最後一位,但

SAP與金稅連線有兩種方式:元件介面文字介面

SAP與金稅連線有兩種方式:元件介面及文字介面。 文字介面為例: 1、SAP取發票資料,主要來自合同,銷售訂單,交貨單,發票,客戶供應商主資料等 2、SAP處理:合併,拆分,折扣等 3、匯出TXT文字 4、金稅開票機讀取文字:通過引數傳遞資料,注意1分錢誤差問題(引數傳遞導致) 5、回寫

使用cxf+javax開發WebService介面呼叫

1、jar包:cxf-2.5.3.jar   neethi-3.0.2.jar    wsdl4j-1.6.2.jar    xmlschema-core-2.0.2.jar 2、配置檔案:<---cxf.xml---> <

STM32F1xx 系列 多通道ADC DMA採集與非DMA採集

ADC 多通道 DMA 採集 #include "ADcx.h" #include <stdio.h> #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_adc.h" #inclu

CAA工程圖基本介面與AutoCAD檔案的關係

    AutoCAD中的塊匯入CATIA中後可以轉到CATIDftDitto介面,該介面是塊的例項,可以根據GetDetail方法獲取塊的參考CATIDftView。CATIDftView可以轉到CATISktUse2DWFFactory介面,進而對CATI

這次,徹底弄懂介面抽象類

本文出自伯特的《LoulanPlan》,轉載務必註明作者及出處。 本文旨在討論抽象類和介面的作用、例項及使用場景,都是我的理解和總結。更多關於介面和抽象類的概念知識,可自行查閱相關文件。 1. 抽象類及其作用 抽象類,顧名思義,即類的抽象。 在介紹面向物件概念時,我們知道類是客觀事物的抽象,

淘寶採集同行店鋪的採集工具如何採集店鋪的?

    很多中小商家在淘寶開店之前,都會先去了解一下淘寶的同行的店鋪情況,知道大致的佈局和商品,就可以根據自身的優勢來調整店鋪商品和店鋪的風格了。同行的店鋪很多,商家就需要在商品的圖片和價格上來對比了。     如何可以快速的找到同行中銷量和信譽比較的店鋪呢?手動一家一家查

django在關閉debug後,admin介面 靜態檔案無法載入的解決辦法

當debug為true的時候,ALLOWED_HOSTS是跳過不管用的。所以這裡需要將debug關掉,令debug=false,ALLOWED_HOSTS=[ '*' ]表示所有的主機都可以訪問 開啟django遠端訪問的命令是python manage.py runserver 0.0.0.0:8000,