مصادر الاستخراج ودعم المنصات
يجد Sweepy الوظائف بطريقتين. فهو يستعلم مباشرةً من أربع منصات ATS عامة ومنصة وظائف واحدة في نيويورك. ويستطيع أيضًا قراءة تغذيات المجمّعات عبر python-jobspy. وتسرد هذه الصفحة كل مصدر وتعرض كيفية توجيه Sweepy إلى مجالك.
المصادر الافتراضية
يعمل Sweepy جاهزًا على خمسة مصادر حتمية بالإضافة إلى مسار مجمّعات واحد. وتستخدم المصادر الحتمية نقاط نهاية عامة يستطيع أي شخص فتحها. ولا تحتاج إلى حساب أو تسجيل دخول أو خدمة مدفوعة.
| المصدر | مفتاح التهيئة | ملف البذور | نقطة النهاية |
|---|---|---|---|
| Greenhouse | sources.greenhouse.boards | data/sources/greenhouse_boards.txt | boards-api.greenhouse.io/v1/boards/{board}/jobs?content=true |
| Ashby | sources.ashby.orgs | data/sources/ashby_orgs.txt | api.ashbyhq.com/posting-api/job-board/{org} |
| Lever | sources.lever.companies | data/sources/lever_companies.txt | api.lever.co/v0/postings/{company}?mode=json |
| Workable | sources.workable.slugs | data/sources/workable_slugs.txt | apply.workable.com/api/v1/widget/accounts/{slug} |
| Built In NYC | sources.builtinnyc.categories | data/sources/builtin_categories.txt | builtinnyc.com/{category} |
| Glassdoor | sources.jobspy.glassdoor | لا يوجد | عبر python-jobspy |
قواعد الفتح
يشغّل Sweepy مصدرًا حتميًا عندما يتحقق الإعدادان التاليان:
- تضبط
sources.<name>.enabledعلىtrue. - تضبط
platforms.<name>علىtrueحيث يوجد إعداد مطابق.
وكلا المفتاحين افتراضيًا true.
ضع هذه الاستثناءات في الحسبان:
- Built In NYC ليس لديه إعداد
platforms.builtinnyc. ويحترم المحركsources.builtinnyc.enabledوحده. وتتضمن كل بطاقة الشركة ومكان العمل والموقع والأجر من صفحة الإعلان. اضبطsources.builtinnyc.detail_pages: trueلقراءة نص الإعلان كاملًا أيضًا. وتتصدى Built In لتلك الصفحات بعد بضع طلبات، فيتوقف Sweepy عند أول تصدٍّ. - Glassdoor يعمل عبر
python-jobspyويحترمsources.jobspy.glassdoor. ولا يوجد مفتاحplatforms.glassdoor، فيوقفه مفتاحsourcesذلك وحده.
لإيقاف مصدر، اضبط أحد مفتاحيه على false.
إذا سبق ملفك التعريفي الإصدار v2.2.0
يعمل Greenhouse وLever الآن افتراضيًا. وغيّر Sweepy هذا السلوك في الإصدار v2.2.0. وتكتشف الملفات التعريفية القائمة الإعلانات الجديدة إلا إذا أوقفت تلك المصادر. ولم تتغير أي قيمة افتراضية لمفتاح.
توقف المفاتيح platforms.ashby: false وplatforms.workable: false وplatforms.greenhouse: false وplatforms.lever: false الآن مصادر البذور الحتمية تلك. وقبل الإصدار v2.2.0، كانت تصفي نتائج python-jobspy وحدها.
أوقف مصدرًا بـ sources.<name>.enabled: false أو بـ platforms.<name>: false.
كيف تعمل ملفات البذور
يستخدم Sweepy ملفات البذور في data/sources/ كبدائل عندما يترك ملفك التعريفي قوائم المصادر فارغة.
- القائمة الفارغة، مثل
boards: []، تعود إلى ملف البذور المنتقى. - القائمة الصريحة تتجاوز البذور كليًا. فقائمتك تحل محل البذور، ولن يدمج المحرك الاثنين.
قائمتك هي الفائزة. وأنت تختار المنصات وفئات الوظائف.
أمثلة لمجالك
أضف منصات ATS والمؤسسات والشركات والمعرّفات والفئات التي تهمك تحت قسم sources في ملفك التعريفي.
القانون
sources:
ashby:
orgs:
- "crosby"
- "normlaw"
- "hargrove-firm"
- "lawhive"
workable:
slugs:
- "shegerianand-associates-1"
- "harper-james"
- "legalvision"
builtinnyc:
enabled: true
categories:
- "jobs/legal"
- "jobs/legal/search/paralegal"
الكتابة التقنية
sources:
greenhouse:
enabled: true
boards:
- "gitlab"
- "cloudflare"
ashby:
orgs:
- "modal"
- "perplexity"
- "replit"
lever:
enabled: true
companies:
- "spotify"
workable:
slugs:
- "soda-data-nv"
builtinnyc:
enabled: true
categories:
- "jobs/technical-writer"
الرعاية الصحية والتقنية الحيوية
sources:
workable:
slugs:
- "bask-health-1"
- "atria-health"
builtinnyc:
enabled: true
categories:
- "jobs/healthcare"
انسخ الكتلة الأقرب إلى مجالك، ثم استبدل بها الشركات التي تتابعها بالفعل. وتأتي رموز المنصات من عنوان الوظائف العام لدى الشركة.
المنصات المخصصة
سجّل نطاقات ATS مخصصة تحت platforms.custom. ويقرأ المحرك كل رابط وظيفة يكتشفه ويقارنه بنطاقاتك. ويوجّه Sweepy التطابقات إلى دليل تقرير خاص بها.
platforms:
custom:
- name: "LawCrossing"
domain: "lawcrossing.com"
enabled: true
- name: "Indeed Legal"
domain: "indeed.com/legal"
enabled: true
يأخذ كل إدخال ثلاثة حقول:
| الحقل | مطلوب | ما يفعله |
|---|---|---|
name | نعم | التسمية التي يعرضها Sweepy لهذه المنصة في التقارير. |
domain | نعم | نطاق الويب أو المسار الذي يقارنه المحرك بكل رابط وظيفة. |
enabled | لا | اضبطه على false للإبقاء على الإدخال وتجاوز المطابقة. والقيمة الافتراضية true. |
المحركات الاختيارية
يتضمن Sweepy محركي ats وjobspy افتراضيًا. وتضيف المحركات الاختيارية منصات عندما تنزّلها.
| المحرك | المنصات | قبل أن تثبّت |
|---|---|---|
hirehunt | LinkedIn وIndeed وNaukri وShine وInternshala وUnstop وGoogle Careers وAmazon وMeta وApple وNetflix وMicrosoft | لا شيء |
openroles | منصات Greenhouse وLever وAshby وWorkday التي تسميها | معرّفات companies |
jobdrop | 33 منصة، منها Google وWellfound وWorkday وiCIMS وDice وUSAJobs | مرّر --allow-engine-conflicts مع JobSpy |
apify | LinkedIn عبر ممثل مُدار | APIFY_TOKEN وفوترة Apify |
ثبّت كل محرك متوافق دفعة واحدة:
sweepy --install-engines all
تتجاوز مجموعة all محرك JobDrop لأنه يثبّت curl-cffi<0.8 بينما يحتاج JobSpy إلى curl_cffi>=0.16.2.
لتثبيت JobDrop وحده:
sweepy --install-engines jobdrop --allow-engine-conflicts
يشغّل خيار Download job engines في معالج الإعداد عمليات التثبيت نفسها. ثم اسرد المحرك تحت sources.enabled واضبط خيارات منصاته:
sources:
enabled: [jobspy, ats, openroles]
openroles:
companies:
- "figma"
- "stripe"
مقايضة النطاق الترددي
تطلب منصات Greenhouse المحتوى الكامل في طلب واحد لكل منصة بإضافة ?content=true. فتصل الأوصاف والأقسام وبيانات الأجر الوصفية جاهزة للاحتساب. وتعيد بعض المنصات مئات الإعلانات، فقد يسحب مسح واحد عشرات قليلة من الميغابايتات عبر كل المنصات المدرجة في البذور.
ويُبقي Sweepy تلك الكلفة محدودة بثلاث طرق:
- يرشّح الإعلانات مسبقًا حسب
titlesفي ملفك التعريفي أثناء توحيد كل سجل. - يرسل طلبًا واحدًا لكل مصدر بذور في كل مرة، ولا يرسلها بالتوازي قط.
- يتوقف لمدة
SWEEPY_SOURCE_DELAYبين الطلبات، وقيمتها الافتراضية 0.2 ثانية.
تنتهي قوائم البذور الأصغر أسرع. وإذا بدا المسح بطيئًا، فقلّص قوائم البذور أولًا.
توافق المنصات
لأن Sweepy يستخرج HTML عاديًا ويعمل دون متصفح بلا واجهة، تعيد بعض أنواع المنصات بيانات أقل من غيرها.
| نوع المنصة | أمثلة | التوافق | تحذيرات |
|---|---|---|---|
| ATS العامة | Greenhouse وAshby وLever وWorkable وSmartRecruiters وBreezy HR | مدعومة بالكامل | يحلل Sweepy صفحات الوظائف القياسية المعروضة على الخادم ويفحص كل رابط بحثًا عن استجابة حية. |
| تطبيقات صفحة واحدة تُعرض على العميل | Workday على myworkdayjobs.com، وOracle HCM | محدود | تعرض هذه المنصات صفحات الوظائف بجافاسكربت على العميل. ودون متصفح بلا واجهة، قد تفتقر حمولات HTML الأولى إلى الأوصاف. |
| بوابات محمية بمصادقة | Handshake والشبكات الداخلية للشركات | غير مدعومة | تتطلب هذه البوابات ملفات تعريف ارتباط جلسة أو بيانات اعتماد SSO. |
| مجمّعات مقاومة للروبوت | منصات بـ Cloudflare Turnstile أو PerimeterX | محدودة بحدود الطلبات | قد تطلق طلبات HTTP المؤتمتة حجب HTTP 403 دون تبديل وكلاء. |
قد ترى إعلانات Workday في التقارير عندما تتضمنها تغذية مجمّع. ويتحقق Sweepy من الرابط ويحتسب الوظيفة من أي نص تحمله الحمولة.