이 시스템은 Python+를 사용하여 개발되었습니다. Selenium 크롤러 프로그램은 BOSS 직접 채용 웹사이트에서 채용 데이터를 수집하고, 수집된 채용 데이터를 MySQL 데이터베이스에 저장한 후, 데이터베이스에 저장된 채용 데이터에 대해 데이터 중복 제거, 필드 유형 및 내용 통합, 삭제 등의 데이터 정리 작업을 수행합니다. 관련성이 없는 데이터 및 기타 작업을 수행한 후 특정 직위의 채용 수, 학력, 경력 등을 포함한 정제된 데이터를 분석합니다. 경력, 회사 유형, 회사 규모, 도시 분포 등의 관점에서 분석 학력, 업무 경험, 회사 유형, 회사 규모 등의 관점에서 특정 직위의 급여 수준을 분석합니다. 특정 직위에서 등장하는 고주파 스킬어를 조합하고 결과를 분석하여 습득할 스킬을 획득하였다. 최종적으로 분석결과를 직관적으로 표시하기 위해 채용데이터 시각적 분석 시스템을 설계하여 구현하였다. 분석 결과를 시각적 차트 형태로 표시합니다. 기술적으로 SpringBoot 프레임워크는 백엔드 액세스를 구축하는 데 사용되며 RESTful API는 프런트엔드에 데이터를 제공하는 데 사용됩니다. 시스템 프런트엔드 인터페이스는 Vue + Element-UI 프레임워크를 사용하여 구축되며 시각적 차트는 v-차트를 사용하여 생성됩니다. + echarts 차트 라이브러리.
bosszp-spider 디렉터리에 있는 크롤러 프로그램을 Pycharm 으로 가져오고 spiderMain 파일을 열고 프로그램에서 기본 함수를 찾은 다음 기본 함수에서 spiderObj = spider('copywriting', city, 1) 코드를 수정하여 카피라이팅을 변경합니다. 크롤링할 게시물로 변경한 후, 터미널을 이용하여 구글 크롬 설치 디렉터리로 진입하여 ./chrome.exe를 실행합니다. -remote-debugging-port=9222 명령을 실행한 후, 실행된 구글 크롬에서 BOSS 직접 모집 사이트를 열고 QR 코드를 스캔하여 로그인합니다. 위의 단계를 완료한 후 크롤러 프로그램을 실행할 수 있습니다.
找到listen 80,然后在它下面添加或替换如下配置
listen 80;
server_name localhost;
sendfile on;
keepalive_timeout 65;
charset utf-8;
#access_log logs/host.access.log main;
location / {
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
root /upload/;
index index.html index.htm; # 需要转发的url地址
}
location ^~/apm/ {
proxy_pass http://localhost:8890/;
}
location ^~/apj/ {
proxy_pass http://localhost:8890/admin/;
}
IDEA를 사용하여 분석 디렉터리의 모든 배경 코드를 가져옵니다. 모든 종속성을 다운로드한 후 자신의 상황에 맞게 application.yml 파일의 구성 내용을 수정한 후 Navicat을 사용하여 bosszp 라는 데이터베이스를 생성합니다. bosszp.sql 파일과 동일한 레벨로 import한 후, 데이터베이스 테이블을 import한 후 수집합니다. 채용 데이터는 Navicat을 사용하여 생성된 데이터베이스의 채용 테이블로 가져옵니다. 백그라운드 코드를 실행하기 전에 먼저 데이터베이스의 데이터를 정리하고 관련 없는 데이터를 삭제한 다음, 나타나는 키워드를 삭제해야 합니다. 각 직위정보를 분류하고, 최종적으로 필드의 종류나 내용을 통일한다. 처리된 예시 데이터는 아래와 같다. (처리할 필드 정보만 표시됨)
주소 | 처리주소 | 변환주소 | 유형 | 처리 유형 | 거리 |
---|---|---|---|---|---|
베이징 | 베이징-순이 지구 | 베이징 | 운영 및 유지보수 엔지니어 | 운영엔지니어 | 순이구 |
심천 | 심천-룽강구 | 심천 | 운영 및 유지보수 엔지니어 | 운영엔지니어 | 룽강구 |
일태그 | handlerWorkTag | 샐러리 | 처리급여 | 평균 급여 | 급여월 |
---|---|---|---|---|---|
["서버 구성", "다중 프로세스", "다중 스레드", "Linux", "알고리즘 기본", "데이터 구조", ""] | 서버 구성 다중 프로세스 다중 스레드 Linux 알고리즘 기본 데이터 구조 | [9000, 11000] | 9-11K/월 | 10000 | 급여 0 |
["Python", "Java", "Go", "TypeScript", "분산 기술", "컨테이너 기술", "", ""] | Python Java Go TypeScript 분산 기술 컨테이너 기술 | [15000, 25000] | 15-25K/월·연봉 13 | 20000 | 13 급여 |
회사태그 | handlerCompany태그 | 회사사람들 | 처리회사사람들 |
---|---|---|---|
없음 | [0, 20] | 0~20명 | |
["정기건강검진", "보조의료보험", "간식 및 애프터눈티", "직원여행", "잔업수당", "주식옵션", "식사수당", "휴가수당", "연말보너스" ", "다섯 보험과 금"] | 정기건강검진, 의료보조보험, 간식, 애프터눈티, 임직원 여행 및 초과근무수당 지원, 스톡옵션, 식사보조금, 명절수당, 연말상여금, 5대 보험 1펀드 | [0, 10000] | 10,000명 이상 |
데이터 처리가 완료되면 백그라운드 데이터 준비 작업이 완료되고, 마지막으로 백그라운드 코드의 메인 프로그램이 시작되며, 비정상적인 오류가 발생하지 않으면 백그라운드 작업이 성공한 것입니다.
먼저 npm 명령을 사용하여 Yarn 패키지 관리자를 전역적으로 설치합니다. 그런 다음 WebStorm을 사용하여 Recruitment-data-analytic 디렉터리에 있는 모든 프런트엔드 코드를 가져옵니다. 가져오기가 완료된 후 Yarn 설치 명령을 사용하여 필수 모듈을 설치합니다. 모듈 설치가 완료되면 Yarn run build 명령을 실행하여 프로젝트를 설치합니다.패키징이 완료되면 dist 폴더가 생성됩니다. 이후에 생성된 업로드 폴더에 넣습니다. 완료되면 Windows 11 의 프런트 데스크의 로컬 액세스 주소는 http://localhost/ 입니다.