Alat otomatis untuk menyalin postingan pekerjaan ke dalam file .csv
.
JobFunnel memerlukan Python 3.11 atau lebih baru.
pip install git+https://github.com/PaulMcInnis/JobFunnel.git
Dengan melakukan pengikisan dan peninjauan secara teratur, Anda dapat menghilangkan kebisingan bahkan di pasar kerja tersibuk sekalipun.
Anda dapat mencari pekerjaan dengan file konfigurasi YAML atau dengan meneruskan argumen perintah.
Unduh demo settings.yaml dengan menjalankan perintah di bawah ini:
wget https://git.io/JUWeP -O my_settings.yaml
CATATAN:
Disarankan untuk memberikan kata kunci pencarian sesedikit mungkin (yaitu Python
, AI
).
JobFunnel saat ini mendukung lokal CANADA_ENGLISH
, USA_ENGLISH
, UK_ENGLISH
, FRANCE_FRENCH
, dan GERMANY_GERMAN
.
Jalankan funnel
dengan pengaturan YAML Anda untuk mengisi file CSV master Anda dengan pekerjaan dari penyedia yang tersedia:
funnel load -s my_settings.yaml
Buka file CSV master dan perbarui status
per pekerjaan :
Atur ke interested
, applied
, interview
, atau offer
untuk mencerminkan kemajuan Anda dalam pekerjaan.
Setel ke archive
, rejected
, atau delete
untuk menghapus pekerjaan dari pencarian ini. Anda dapat meninjau pekerjaan yang 'diblokir' dalam block_list_file
Anda.
Mengotomatiskan Pencarian
JobFunnel dapat dengan mudah diotomatisasi untuk dijalankan setiap malam dengan crontab
Untuk informasi lebih lanjut lihat dokumen crontab.
Menulis Scraper Anda sendiri
Jika Anda memiliki situs web pekerjaan yang ingin Anda buatkan scrapernya, Anda dipersilakan untuk mengimplementasikannya, Tinjau Base Scraper untuk detail implementasi.
Pekerjaan Jarak Jauh
Abaikan pengalaman pengguna yang membuat frustrasi saat mencari pekerjaan jarak jauh dengan mengatur parameter pencarian remoteness
agar sesuai dengan tingkat yang Anda inginkan, yaitu FULLY_REMOTE
.
Menambahkan Dukungan untuk Bahasa X / Situs Web Pekerjaan
JobFunnel mendukung pengambilan pekerjaan dari situs pekerjaan yang sama di seluruh lokal & domain. Jika Anda tertarik untuk menambahkan dukungan, Anda mungkin hanya perlu menentukan header sesi dan string domain, Tinjau Base Scraper untuk detail implementasi lebih lanjut.
Memblokir Perusahaan
Filter perusahaan yang tidak diinginkan dengan menambahkannya ke company_block_list
di YAML Anda atau meneruskannya melalui baris perintah sebagai -cbl
.
Filter Usia Pekerjaan
Anda dapat mengonfigurasi usia maksimum listingan yang dihapus (dalam hari) dengan mengonfigurasi max_listing_days
.
Meninjau Pekerjaan di Terminal
Anda dapat meninjau daftar pekerjaan di baris perintah:
column -s, -t < master_list.csv | less -#2 -N -S
Penundaan dengan Hormat
Kikis postingan pekerjaan Anda dengan hormat menggunakan algoritme penundaan bawaan kami.
Untuk lebih memahami cara mengonfigurasi penundaan, lihat Notebook Jupyter ini yang menguraikan algoritme langkah demi langkah dengan kode dan visualisasi.
Memulihkan Data yang Hilang
JobFunnel dapat membuat ulang CSV master Anda dari cache_folder
tempat semua data scrape bersejarah berada:
funnel --recover
Dijalankan oleh CLI
Anda dapat menjalankan JobFunnel hanya menggunakan CLI, tinjau struktur perintah melalui:
funnel inline -h
JobFunnel tidak menyelesaikan CAPTCHA. Jika, saat melakukan scraping, Anda menerima kesalahan Unable to extract jobs from initial search result page:
. Kemudian buka url tersebut di browser Anda dan selesaikan CAPTCHA secara manual.
Bagi kontributor dan pengembang yang ingin bekerja di JobFunnel, bagian ini akan memandu Anda dalam menyiapkan lingkungan pengembangan dan alat yang kami gunakan untuk menjaga kualitas dan konsistensi kode.
Untuk memulai, instal JobFunnel dalam mode pengembang . Ini akan menginstal semua dependensi yang diperlukan, termasuk alat pengembangan seperti utilitas pengujian, linting, dan pemformatan.
Untuk menginstal JobFunnel dalam mode pengembang, gunakan perintah berikut:
pip install -e ' .[dev] '
Perintah ini tidak hanya menginstal paket dalam keadaan dapat diedit tetapi juga menyiapkan hook pra-komit untuk pemeriksaan kualitas kode otomatis.
Hook pra-komit berikut dikonfigurasikan untuk berjalan secara otomatis saat Anda melakukan perubahan untuk memastikan kode mengikuti pedoman gaya dan kualitas yang konsisten:
Black
: Secara otomatis memformat kode Python untuk memastikan konsistensi.isort
: Menyortir dan mengatur impor menurut gaya Hitam.Prettier
: Memformat file non-Python seperti YAML dan JSON.Flake8
: Memeriksa kode Python untuk pelanggaran panduan gaya. Meskipun paket pra-komit diinstal saat Anda menjalankan pip install -e '.[dev]'
, Anda masih perlu menginisialisasi hook dengan menjalankan perintah berikut satu kali:
pre-commit install
Kait pra-komit akan otomatis berjalan saat Anda mencoba melakukan komit. Jika ditemukan masalah pemformatan, hook akan memperbaikinya (untuk Black dan isort), atau memperingatkan Anda tentang pelanggaran gaya (untuk Flake8). Hal ini memastikan bahwa semua kode yang berkomitmen memenuhi standar kualitas proyek.
Anda juga dapat menjalankan hook pra-komit secara manual kapan saja dengan:
pre-commit run --all-files
Hal ini berguna untuk memeriksa seluruh basis kode sebelum melakukan atau sebagai bagian dari tinjauan kode yang lebih besar. Harap perbaiki semua pelanggaran panduan gaya (atau berikan alasan untuk mengabaikannya) sebelum melakukan ke repositori.
Kami menggunakan pytest
untuk menjalankan pengujian dan memastikan bahwa kode berperilaku seperti yang diharapkan. Cakupan kode dihasilkan secara otomatis setiap kali Anda menjalankan pengujian.
Untuk menjalankan semua tes, gunakan perintah berikut:
pytest
Ini akan menjalankan rangkaian pengujian dan secara otomatis menghasilkan laporan cakupan kode.
Jika Anda ingin melihat laporan cakupan kode secara detail, Anda dapat menjalankan:
pytest --cov-report=term-missing
Ini akan menampilkan baris kode mana yang terlewatkan dalam cakupan pengujian langsung di keluaran terminal Anda.