स्क्रैपिंग स्रोत और प्लेटफ़ॉर्म समर्थन
Sweepy नौकरियाँ दो तरह से खोजता है। यह चार सार्वजनिक ATS बोर्ड और एक New York जॉब बोर्ड से सीधे पूछताछ करता है। यह python-jobspy के ज़रिए एग्रीगेटर फ़ीड भी पढ़ सकता है। यह पेज हर स्रोत सूचीबद्ध करता है और दिखाता है कि Sweepy को अपने क्षेत्र पर कैसे लगाएँ।
डिफ़ॉल्ट स्रोत
बिना किसी सेटअप के Sweepy पाँच नियतात्मक स्रोत और एक एग्रीगेटर रास्ता स्वीप करता है। नियतात्मक स्रोत वे सार्वजनिक endpoint इस्तेमाल करते हैं जो कोई भी खोल सकता है। उन्हें खाता, लॉगिन या सशुल्क सेवा नहीं चाहिए।
| स्रोत | कॉन्फ़िग कुंजी | सीड फ़ाइल | Endpoint |
|---|---|---|---|
| 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/ की सीड फ़ाइलें fallback के रूप में इस्तेमाल करता है।
- खाली सूची, जैसे
boards: [], चुनी हुई सीड फ़ाइल पर लौट आती है। - स्पष्ट सूची सीड पर पूरी तरह भारी पड़ती है। आपकी सूची सीड की जगह लेती है, इसलिए इंजन दोनों नहीं मिलाता।
आपकी सूची जीतती है। बोर्ड और जॉब श्रेणियाँ आप चुनते हैं।
अपने क्षेत्र के उदाहरण
अपनी प्रोफ़ाइल के sources खंड में वे ATS बोर्ड, संगठन, कंपनियाँ, slug और श्रेणियाँ जोड़ें जिनकी आपको परवाह है।
कानूनी
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 slug |
jobdrop | 33 बोर्ड, जिनमें Google, Wellfound, Workday, iCIMS, Dice और USAJobs शामिल हैं | JobSpy के साथ --allow-engine-conflicts दें |
apify | प्रबंधित actor के ज़रिए 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 जोड़कर प्रति बोर्ड एक अनुरोध में पूरा content माँगते हैं। तब विवरण, विभाग और वेतन मेटाडेटा स्कोरिंग के लिए तैयार आ जाते हैं। कुछ बोर्ड सैकड़ों पोस्टिंग लौटाते हैं, इसलिए एक स्वीप सभी सीड बोर्ड से कुछ दसियों megabyte खींच सकता है।
Sweepy उस लागत को तीन तरह से सीमित रखता है:
- हर रिकॉर्ड सामान्य करते समय यह आपकी प्रोफ़ाइल
titlesसे पोस्टिंग की पूर्व-छँटाई करता है। - यह एक बार में एक सीड स्रोत पर अनुरोध भेजता है, समानांतर में कभी नहीं।
- यह अनुरोधों के बीच
SWEEPY_SOURCE_DELAYअंतराल तक रुकता है, जिसका डिफ़ॉल्ट 0.2 सेकंड है।
छोटी सीड सूचियाँ तेज़ी से पूरी होती हैं। अगर स्वीप धीमा लगे, तो पहले अपनी सीड सूचियाँ घटाएँ।
प्लेटफ़ॉर्म संगतता
चूँकि Sweepy सादा HTML स्क्रैप करता है और headless browser के बिना चलता है, कुछ प्लेटफ़ॉर्म प्रकार दूसरों से कम डेटा लौटाते हैं।
| प्लेटफ़ॉर्म प्रकार | उदाहरण | संगतता | चेतावनियाँ |
|---|---|---|---|
| सार्वजनिक ATS | Greenhouse, Ashby, Lever, Workable, SmartRecruiters, Breezy HR | पूरा समर्थित | Sweepy मानक सर्वर-रेंडर जॉब पेज पार्स करता है और हर लिंक का जीवंत जवाब जाँचता है। |
| क्लाइंट-रेंडर SPA | myworkdayjobs.com पर Workday, Oracle HCM | सीमित | ये प्लेटफ़ॉर्म जॉब पेज client-side JavaScript से रेंडर करते हैं। Headless browser के बिना शुरुआती HTML payload में विवरण नहीं हो सकते। |
| Auth-वाले पोर्टल | Handshake, कॉर्पोरेट intranet | असमर्थित | इन पोर्टल के लिए सेशन cookie या SSO क्रेडेंशियल चाहिए। |
| एंटी-बॉट एग्रीगेटर | Cloudflare Turnstile या PerimeterX वाले बोर्ड | दर-सीमित | बिना प्रॉक्सी रोटेशन के स्वचालित HTTP अनुरोध HTTP 403 ब्लॉक भड़का सकते हैं। |
जब किसी एग्रीगेटर फ़ीड में Workday पोस्टिंग हों, तब वे रिपोर्ट में फिर भी दिख सकती हैं। Sweepy लिंक सत्यापित करता है और भूमिका को उस टेक्स्ट से स्कोर करता है जो payload में है।