เครื่องมืออัตโนมัติสำหรับการคัดลอกประกาศรับสมัครงานเป็นไฟล์ . .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
รัน funnel
ด้วยการตั้งค่าของคุณ YAML เพื่อเติมไฟล์ CSV หลักของคุณด้วยงานจากผู้ให้บริการที่มีอยู่:
funnel load -s my_settings.yaml
เปิดไฟล์ CSV หลักและอัปเดต status
ต่องาน :
ตั้งค่า interested
applied
interview
หรือ offer
เพื่อสะท้อนความก้าวหน้าในหน้าที่การงานของคุณ
ตั้งค่าเป็น archive
rejected
หรือ delete
เพื่อลบงานออกจากการค้นหานี้ คุณสามารถตรวจสอบงานที่ 'ถูกบล็อก' ได้ภายใน block_list_file
ของคุณ
ค้นหาอัตโนมัติ
JobFunnel สามารถทำงานอัตโนมัติทุกคืนได้อย่างง่ายดายด้วย crontab
สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสาร crontab
การเขียนเครื่องขูดของคุณเอง
หากคุณมีเว็บไซต์รับสมัครงานที่คุณต้องการเขียน Scraper ให้ คุณสามารถนำไปใช้งานได้ ตรวจสอบ Base Scraper เพื่อดูรายละเอียดการใช้งาน
การทำงานระยะไกล
หลีกเลี่ยงประสบการณ์ผู้ใช้ที่น่าหงุดหงิดที่กำลังมองหางานจากระยะไกลโดยการตั้งค่า remoteness
ของพารามิเตอร์การค้นหาให้ตรงกับระดับที่คุณต้องการ เช่น FULLY_REMOTE
เพิ่มการรองรับภาษา X / เว็บไซต์งาน
JobFunnel รองรับการคัดลอกงานจากเว็บไซต์งานเดียวกันข้ามสถานที่และโดเมน หากคุณสนใจที่จะเพิ่มการสนับสนุน คุณอาจต้องกำหนดส่วนหัวของเซสชันและสตริงโดเมนเท่านั้น ตรวจสอบ Base Scraper สำหรับรายละเอียดการใช้งานเพิ่มเติม
การปิดกั้นบริษัท
กรองบริษัทที่ไม่ต้องการโดยเพิ่มลงใน company_block_list
ของคุณใน YAML ของคุณ หรือส่งผ่านบรรทัดคำสั่งเป็น -cbl
ตัวกรองอายุงาน
คุณสามารถกำหนดค่าอายุสูงสุดของรายการที่คัดลอกมา (เป็นวัน) ได้โดยการกำหนดค่า max_listing_days
การตรวจสอบงานใน Terminal
คุณสามารถตรวจสอบรายการงานได้ในบรรทัดคำสั่ง:
column -s, -t < master_list.csv | less -#2 -N -S
ขอแสดงความนับถือ ล่าช้า
คัดลอกประกาศรับสมัครงานของคุณด้วยความเคารพด้วยอัลกอริธึมการหน่วงเวลาในตัวของเรา
เพื่อให้เข้าใจวิธีกำหนดค่าการหน่วงเวลาได้ดีขึ้น ลองดู Jupyter Notebook ซึ่งแจกแจงอัลกอริทึมทีละขั้นตอนด้วยโค้ดและการแสดงภาพ
การกู้คืนข้อมูลที่สูญหาย
JobFunnel สามารถสร้าง CSV หลักของคุณขึ้นมาใหม่ได้จาก cache_folder
ซึ่งมีข้อมูลการคัดลอกประวัติทั้งหมดอยู่:
funnel --recover
ดำเนินการโดย CLI
คุณสามารถรัน JobFunnel โดยใช้ CLI เท่านั้น ตรวจสอบโครงสร้างคำสั่งผ่าน:
funnel inline -h
JobFunnel ไม่สามารถแก้ CAPTCHA ได้ ขณะกำลังคัดลอก หากได้รับข้อความแจ้ง Unable to extract jobs from initial search result page:
error จากนั้นเปิด URL นั้นบนเบราว์เซอร์ของคุณและแก้ไข CAPTCHA ด้วยตนเอง
สำหรับผู้มีส่วนร่วมและนักพัฒนาที่ต้องการทำงานกับ JobFunnel ส่วนนี้จะแนะนำคุณตลอดการตั้งค่าสภาพแวดล้อมการพัฒนาและเครื่องมือที่เราใช้เพื่อรักษาคุณภาพและความสม่ำเสมอของโค้ด
ในการเริ่มต้น ให้ติดตั้ง JobFunnel ใน โหมดนักพัฒนาซอฟต์แวร์ การดำเนินการนี้จะติดตั้งการขึ้นต่อกันที่จำเป็นทั้งหมด รวมถึงเครื่องมือในการพัฒนา เช่น การทดสอบ การ Linting และยูทิลิตี้การจัดรูปแบบ
หากต้องการติดตั้ง JobFunnel ในโหมดนักพัฒนาซอฟต์แวร์ ให้ใช้คำสั่งต่อไปนี้:
pip install -e ' .[dev] '
คำสั่งนี้ไม่เพียงแต่ติดตั้งแพ็กเกจในสถานะที่แก้ไขได้ แต่ยังตั้งค่า hooks ที่คอมมิตล่วงหน้าสำหรับการตรวจสอบคุณภาพโค้ดอัตโนมัติอีกด้วย
hooks ที่คอมมิตล่วงหน้าต่อไปนี้ได้รับการกำหนดค่าให้ทำงานโดยอัตโนมัติเมื่อคุณคอมมิตการเปลี่ยนแปลงเพื่อให้แน่ใจว่าโค้ดเป็นไปตามแนวทางสไตล์และคุณภาพที่สอดคล้องกัน:
Black
: จัดรูปแบบโค้ด Python โดยอัตโนมัติเพื่อให้มั่นใจถึงความสอดคล้องกันisort
: จัดเรียงและจัดระเบียบการนำเข้าตามสไตล์สีดำPrettier
: จัดรูปแบบไฟล์ที่ไม่ใช่ Python เช่น YAML และ JSONFlake8
: ตรวจสอบโค้ด Python เพื่อดูการละเมิดคำแนะนำสไตล์ แม้ว่าแพ็คเกจที่คอมมิตล่วงหน้าจะถูกติดตั้งเมื่อคุณรัน pip install -e '.[dev]'
คุณยังคงต้องเริ่มต้น hooks ด้วยการรันคำสั่งต่อไปนี้หนึ่งครั้ง:
pre-commit install
hooks ที่คอมมิตล่วงหน้าจะทำงานโดยอัตโนมัติเมื่อคุณพยายามคอมมิต หากพบปัญหาการจัดรูปแบบ hooks จะแก้ไขปัญหาเหล่านั้น (สำหรับ Black และ isort) หรือเตือนคุณเกี่ยวกับการละเมิดรูปแบบ (สำหรับ Flake8) สิ่งนี้ทำให้มั่นใจได้ว่าโค้ดที่คอมมิตทั้งหมดตรงตามมาตรฐานคุณภาพของโปรเจ็กต์
คุณยังสามารถเรียกใช้ hooks ที่คอมมิตล่วงหน้าด้วยตนเองได้ตลอดเวลาด้วย:
pre-commit run --all-files
สิ่งนี้มีประโยชน์ในการตรวจสอบโค้ดเบสทั้งหมดก่อนดำเนินการหรือเป็นส่วนหนึ่งของการตรวจสอบโค้ดที่ใหญ่ขึ้น โปรดแก้ไขการละเมิดคำแนะนำสไตล์ทั้งหมด (หรือระบุเหตุผลที่ควรเพิกเฉย) ก่อนที่จะดำเนินการกับพื้นที่เก็บข้อมูล
เราใช้ pytest
เพื่อรันการทดสอบและตรวจสอบให้แน่ใจว่าโค้ดทำงานตามที่คาดไว้ การครอบคลุมโค้ดจะถูกสร้างขึ้นโดยอัตโนมัติทุกครั้งที่คุณรันการทดสอบ
หากต้องการรันการทดสอบทั้งหมด ให้ใช้คำสั่งต่อไปนี้:
pytest
สิ่งนี้จะดำเนินการชุดทดสอบและสร้างรายงานการครอบคลุมโค้ดโดยอัตโนมัติ
หากคุณต้องการดูรายงานการครอบคลุมโค้ดโดยละเอียด คุณสามารถเรียกใช้:
pytest --cov-report=term-missing
ซึ่งจะแสดงบรรทัดของโค้ดที่พลาดไปในการครอบคลุมการทดสอบโดยตรงในเอาต์พุตเทอร์มินัลของคุณ