채용 공고를 .csv
파일로 스크랩하는 자동화된 도구입니다.
JobFunnel에는 Python 3.11 이상이 필요합니다.
pip install git+https://github.com/PaulMcInnis/JobFunnel.git
정기적인 스크래핑 및 검토를 수행하면 가장 바쁜 채용 시장의 소음도 줄일 수 있습니다.
YAML 구성 파일을 사용하거나 명령 인수를 전달하여 작업을 검색할 수 있습니다.
아래 명령을 실행하여 데모 settings.yaml을 다운로드합니다.
wget https://git.io/JUWeP -O my_settings.yaml
메모:
가능한 한 적은 수의 검색 키워드를 제공하는 것이 좋습니다(예: Python
, AI
).
JobFunnel은 현재 CANADA_ENGLISH
, USA_ENGLISH
, UK_ENGLISH
, FRANCE_FRENCH
및 GERMANY_GERMAN
로케일을 지원합니다.
YAML 설정으로 funnel
실행하여 사용 가능한 공급자의 작업으로 마스터 CSV 파일을 채웁니다.
funnel load -s my_settings.yaml
마스터 CSV 파일을 열고 작업별 status
업데이트합니다.
interested
, applied
, interview
또는 offer
으로 설정하여 직무 진행 상황을 반영하세요.
이 검색에서 채용정보를 제거하려면 archive
, rejected
또는 delete
로 설정하세요. block_list_file
내에서 '차단된' 작업을 검토할 수 있습니다.
검색 자동화
JobFunnel은 crontab을 사용하여 야간에 실행되도록 쉽게 자동화할 수 있습니다.
자세한 내용은 crontab 문서를 참조하세요.
나만의 스크레이퍼 작성하기
스크레이퍼를 작성하려는 채용 웹사이트가 있는 경우 이를 구현해도 됩니다. 구현 세부 사항은 기본 스크레이퍼를 검토하세요.
원격근무
검색 매개변수 remoteness
성을 원하는 수준(예: FULLY_REMOTE
과 일치하도록 설정하여 원격 작업을 찾는 실망스러운 사용자 경험을 우회하세요.
X 언어/작업 웹사이트에 대한 지원 추가
JobFunnel은 로케일 및 도메인 전반에 걸쳐 동일한 작업 웹사이트에서 작업 스크래핑을 지원합니다. 지원 추가에 관심이 있는 경우 세션 헤더와 도메인 문자열만 정의하면 됩니다. 자세한 구현 세부 사항은 기본 스크레이퍼를 검토하세요.
차단업체
원하지 않는 회사를 YAML의 company_block_list
에 추가하거나 명령줄에서 -cbl
로 전달하여 필터링합니다.
직무 연령 필터
max_listing_days
를 구성하여 스크랩된 목록의 최대 수명(일)을 구성할 수 있습니다.
터미널에서 작업 검토
명령줄에서 작업 목록을 검토할 수 있습니다.
column -s, -t < master_list.csv | less -#2 -N -S
정중한 지연
내장된 지연 알고리즘을 사용하여 채용 공고를 정중하게 스크랩하세요.
지연을 구성하는 방법을 더 잘 이해하려면 코드와 시각화를 통해 알고리즘을 단계별로 분석하는 Jupyter Notebook을 확인하세요.
손실된 데이터 복구
JobFunnel은 모든 기록 스크랩 데이터가 있는 cache_folder
에서 마스터 CSV를 다시 구축할 수 있습니다.
funnel --recover
CLI로 실행
CLI를 통해서만 JobFunnel을 실행할 수 있으며 다음을 통해 명령 구조를 검토할 수 있습니다.
funnel inline -h
JobFunnel은 CAPTCHA를 해결하지 않습니다. 스크래핑하는 동안 Unable to extract jobs from initial search result page:
오류가 발생합니다. 그런 다음 브라우저에서 해당 URL을 열고 CAPTCHA를 수동으로 해결하세요.
JobFunnel에서 작업하려는 기여자와 개발자를 위해 이 섹션에서는 코드 품질과 일관성을 유지하는 데 사용하는 개발 환경과 도구를 설정하는 방법을 안내합니다.
시작하려면 개발자 모드 에서 JobFunnel을 설치하세요. 이렇게 하면 테스트, Linting 및 포맷 유틸리티와 같은 개발 도구를 포함하여 필요한 모든 종속성이 설치됩니다.
개발자 모드에서 JobFunnel을 설치하려면 다음 명령을 사용하십시오.
pip install -e ' .[dev] '
이 명령은 패키지를 편집 가능한 상태로 설치할 뿐만 아니라 자동 코드 품질 검사를 위한 사전 커밋 후크도 설정합니다.
다음 사전 커밋 후크는 코드가 일관된 스타일 및 품질 지침을 따르도록 변경 사항을 커밋할 때 자동으로 실행되도록 구성됩니다.
Black
: 일관성을 보장하기 위해 Python 코드의 형식을 자동으로 지정합니다.isort
: Black 스타일에 따라 가져오기를 정렬하고 구성합니다.Prettier
: YAML, JSON 등 Python이 아닌 파일의 형식을 지정합니다.Flake8
: Python 코드에서 스타일 가이드 위반을 확인합니다. pip install -e '.[dev]'
실행할 때 사전 커밋 패키지가 설치되는 동안에도 다음 명령을 한 번 실행하여 후크를 초기화해야 합니다.
pre-commit install
커밋을 시도하면 사전 커밋 후크가 자동으로 실행됩니다. 형식 문제가 발견되면 후크가 이를 수정하거나(Black 및 isort의 경우) 스타일 위반에 대해 경고합니다(Flake8의 경우). 이렇게 하면 커밋된 모든 코드가 프로젝트의 품질 표준을 충족하게 됩니다.
다음을 사용하여 언제든지 사전 커밋 후크를 수동으로 실행할 수도 있습니다.
pre-commit run --all-files
이는 커밋하기 전이나 대규모 코드 검토의 일부로 전체 코드베이스를 확인하는 데 유용합니다. 저장소에 커밋하기 전에 모든 스타일 가이드 위반을 수정하거나 무시할 이유를 제공하세요.
우리는 pytest
사용하여 테스트를 실행하고 코드가 예상대로 작동하는지 확인합니다. 테스트를 실행할 때마다 코드 적용 범위가 자동으로 생성됩니다.
모든 테스트를 실행하려면 다음 명령을 사용하십시오.
pytest
그러면 테스트 스위트가 실행되고 코드 적용 범위 보고서가 자동으로 생성됩니다.
자세한 코드 적용 범위 보고서를 보려면 다음을 실행하세요.
pytest --cov-report=term-missing
그러면 테스트 범위에서 누락된 코드 줄이 터미널 출력에 직접 표시됩니다.