php74 騎士 火車頭採集簡歷 介面及採集規則
因此就自己寫了個方法對應簡歷採集介面實現可查詢。相關欄位匹配等。和企業採集介面匹配基本一樣。
支援圖片採集。
圖片採集到的檔案目錄需要自己對採集規則進行再修改。
現在對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,