أداة تلقائية لتجميع إعلانات الوظائف في ملف .csv
.
يتطلب JobFunnel إصدار Python 3.11 أو إصدار أحدث.
pip install git+https://github.com/PaulMcInnis/JobFunnel.git
من خلال إجراء عمليات تجريف ومراجعة منتظمة، يمكنك التغلب على ضجيج أسواق العمل الأكثر ازدحامًا.
يمكنك البحث عن وظائف باستخدام ملفات تكوين YAML أو عن طريق تمرير وسيطات الأوامر.
قم بتنزيل إعدادات العرض التوضيحي.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.
كتابة الكاشطات الخاصة بك
إذا كان لديك موقع ويب خاص بالوظائف وترغب في كتابة مقتطف له، فنحن نرحب بك لتنفيذه، قم بمراجعة Base Scraper للحصول على تفاصيل التنفيذ.
العمل عن بعد
تجاوز تجربة المستخدم المحبطة في البحث عن العمل عن بعد عن طريق تعيين معلمة البحث remoteness
لتتناسب مع المستوى المطلوب، أي FULLY_REMOTE
.
إضافة دعم للغة X / موقع الوظيفة
يدعم JobFunnel استخراج الوظائف من نفس موقع الوظيفة عبر المناطق والمجالات. إذا كنت مهتمًا بإضافة الدعم، فقد تحتاج فقط إلى تحديد رؤوس الجلسة وسلاسل النطاق، قم بمراجعة Base Scraper للحصول على مزيد من تفاصيل التنفيذ.
حجب الشركات
قم بتصفية الشركات غير المرغوب فيها عن طريق إضافتها إلى company_block_list
الخاصة بك في YAML أو تمريرها عبر سطر الأوامر كـ -cbl
.
مرشح عمر الوظيفة
يمكنك تكوين الحد الأقصى لعمر القوائم المحذوفة (بالأيام) عن طريق تكوين max_listing_days
.
مراجعة الوظائف في المحطة
يمكنك مراجعة قائمة الوظائف في سطر الأوامر:
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:
. ثم افتح عنوان URL هذا على متصفحك وحل اختبار CAPTCHA يدويًا.
بالنسبة للمساهمين والمطورين الذين يرغبون في العمل على JobFunnel، سيرشدك هذا القسم خلال إعداد بيئة التطوير والأدوات التي نستخدمها للحفاظ على جودة التعليمات البرمجية واتساقها.
للبدء، قم بتثبيت JobFunnel في وضع المطور . سيؤدي هذا إلى تثبيت كافة التبعيات الضرورية، بما في ذلك أدوات التطوير مثل أدوات الاختبار والفحص والتنسيق.
لتثبيت JobFunnel في وضع المطور، استخدم الأمر التالي:
pip install -e ' .[dev] '
لا يقوم هذا الأمر بتثبيت الحزمة في حالة قابلة للتحرير فحسب، بل يقوم أيضًا بإعداد خطافات ما قبل الالتزام للتحقق التلقائي من جودة التعليمات البرمجية.
تم تكوين خطافات الالتزام المسبق التالية لتعمل تلقائيًا عند تنفيذ التغييرات للتأكد من أن التعليمات البرمجية تتبع النمط المتسق وإرشادات الجودة:
Black
: يقوم بتنسيق كود Python تلقائيًا لضمان الاتساق.isort
: فرز الواردات وتنظيمها وفقًا للنمط الأسود.Prettier
: تنسيق الملفات غير Python مثل YAML وJSON.Flake8
: يتحقق من كود Python بحثًا عن انتهاكات دليل الأسلوب. أثناء تثبيت حزمة الالتزام المسبق عند تشغيل pip install -e '.[dev]'
، لا تزال بحاجة إلى تهيئة الخطافات عن طريق تشغيل الأمر التالي مرة واحدة:
pre-commit install
سيتم تشغيل خطافات الالتزام المسبق تلقائيًا عندما تحاول الالتزام. إذا تم العثور على أي مشكلات في التنسيق، فستقوم الخطافات بإصلاحها (بالنسبة إلى Black وisort)، أو تحذيرك بشأن انتهاكات النمط (بالنسبة إلى Flake8). وهذا يضمن أن جميع التعليمات البرمجية الملتزم بها تلبي معايير الجودة الخاصة بالمشروع.
يمكنك أيضًا تشغيل خطافات الالتزام المسبق يدويًا في أي وقت باستخدام:
pre-commit run --all-files
يعد هذا مفيدًا للتحقق من قاعدة التعليمات البرمجية بأكملها قبل الالتزام أو كجزء من مراجعة أكبر للتعليمات البرمجية. الرجاء إصلاح جميع انتهاكات دليل الأنماط (أو تقديم سبب للتجاهل) قبل الالتزام بالمستودع.
نحن نستخدم pytest
لإجراء الاختبارات والتأكد من أن الكود يتصرف كما هو متوقع. يتم إنشاء تغطية الكود تلقائيًا في كل مرة تقوم فيها بإجراء الاختبارات.
لتشغيل كافة الاختبارات، استخدم الأمر التالي:
pytest
سيؤدي هذا إلى تنفيذ مجموعة الاختبار وإنشاء تقرير تغطية التعليمات البرمجية تلقائيًا.
إذا كنت تريد الاطلاع على تقرير تفصيلي عن تغطية التعليمات البرمجية، فيمكنك تشغيل:
pytest --cov-report=term-missing
سيعرض هذا أسطر التعليمات البرمجية التي تم تفويتها في تغطية الاختبار مباشرة في مخرجات المحطة الطرفية الخاصة بك.