Jūs iztērējat 30 minūtes katru dienu manuāli pārbaudot cv.lv, ss.com, cvmarket.lv, NVA portālu un citas vietnes. Beidziet. Es uzrakstīju
Telegram botu — vakances_bot.py — kurš automātiski pārbauda visas 6 galvenās Latvijas vakanču vietnes, salīdzina jaunās vakances Rīgā ar jūsu CV un katru rītu sūta tikai atbilstošas vakances jūsu čatā.
Šajā rakstā es parādīšu kodu, kā tas darbojas un kāpēc darba meklēšanas bots ir tas pats, ko dara rekrutieris, bet par €60, nevis par 20% no algas.
Tas ir reālas, strādājošas sistēmas apskats — nevis teātrālis. Python bots pēc grafika apkopo vakances Latvijā, glabā tās PostgreSQL un dod meklētājam vienkāršu Telegram interfeisu. Viens klikšķis nozīmē «pieteikts», «pārsūtīt» vai «intervija». Meklējat darbu Rīgā tūlīt? Skatiet /vakances komandu. Vēlaties savam uzņēmumam tādu pašu rīku? Kods ir šeit.
⚡ Jūs iegūstat:
- Laiku: No 30 minūtēm dienā uz 4 minūtēm — automātiski, katru rītu
- Rīks: Telegram bots (vakances_bot.py), kurš apkopo vakances no 6 Latvijas vietnēm
- Setup: Augšupielādējiet CV, 60 sekundes iestatījumus, pirmās atbilstības pēc 5 minūtēm
- Izmaksas: €5–15/mēn hostings vai €60 individuāla versija savam uzņēmumam
- Vietnes: cv.lv, ss.com, cvmarket.lv, liepajniekiem.lv, NVA portāls, prakse.lv
Pirms ķeramies pie koda, viena godīga atruna. Šis bots ir reāls projekts, un skaitļi rakstā (vakanču skaits pa kategorijām, algas, sadalījums pa pilsētām) mainās katru dienu: uzņēmumi publicē un slēdz sludinājumus. Aptuvenie skaitļi šeit vajadzīgi, lai parādītu kopējo ainu par Latvijas darba tirgu.
Ko jūs uzzināsiet no šī raksta:
- Kāpēc manuāla darba meklēšana Rīgā pati par sevi pārvēršas par nepilna laika darbu
- Kā vakances_bot.py apkopo vakances no 6 Latvijas vietnēm un uztur datu bāzi tīru
- Kā darbojas CV un vakances atbilstības vērtējums — caurskatāma atslēgvārdu sakritība, bez melnās kastes
- Visas Telegram komandas: no /upload_cv līdz /vakances un /export
- Ko tirgus apskats /vakances stāsta par profesijām Latvijā
- Pilna tehnoloģiju kaudze, lai no nulles uzbūvētu savu versiju
Kāpēc izvēlēties Telegram botu darba meklēšanai?
- Viens čats aptver cv.lv, ss.com, cvmarket, NVA un prakse.lv — bez lēkāšanas pa cilnēm
- Katra vakance tiek vērtēta pret jūsu CV: redzat atbilstības, nevis troksni
- 6 statusu saraksti tabulu vietā: izlase, nosūtīšanai, pieteikumi, intervijas…
- Filtri pēc pilsētas, algas un attālināta darba — pielāgoti jūsu dzīvei
- Strādā telefonā, kabatā, katru rītu plkst. 9:00
Problēma: darba meklēšana Rīgā pārvēršas par nepilna laika darbu
Paskatīsimies godīgi, kā izskatās darba meklēšana Rīgā 2026. gadā. Pirmdienas rītā atverat ss.com, uzreiz pārejat uz savu kategoriju, pāršķirstāt svaigos sludinājumus — varbūt viens ieķeras acīs, un jūs piesakāties. Tad atverat nākamo portālu, pārskatāt to un nosūtāt vēl pāris CV. Uz šo dienu var beigt. Otrdien atverat trešo vietni, tad ceturto, varbūt atgriežaties pie jau skatītajām. Pāris stundās esat nosūtījis vēl 3–10 CV un pāršķirstījis vairāk nekā simts vakanču — un esat noguris.
Trešdien atnāk trīs atteikumi un trīs «mēs jums piezvanīsim». Jūs atkal atverat portālus — un jaunās vakances izskatās vecas, bet vecās — jaunas. Jūs precīzi zināt, ka tērējat laiku lapām, kuras jau esat redzējis. Un tomēr ik pa laikam parādās piedāvājums, kuru kaut kā palaidāt garām. Viss šis haoss dzīvo jums galvā.
Un tagad nepatīkamā aritmētika. Uz sešiem galvenajiem portāliem — cv.lv, ss.com, cvmarket.lv, valsts portāla NVA, liepajniekiem.lv un prakse.lv — šobrīd ir atvērtas vairāk nekā 15 000 vakances (15 548 uz 2026. gada 18. augustu). Rūpīga manuāla visu sešu apiešana aizņem no 30 līdz 45 minūtēm dienā. Mēnesī tas ir 10–15 stundas tīras filtrēšanas: lasīšana, salīdzināšana, mēģinājumi atcerēties, kuriem uzņēmumiem jau esat rakstījis, un vienas un tās pašas vakances pārlasīšana, kas pārpublicēta citā vietnē. Tas vairs nav darba meklēšana. Tā ir birokrātija.
Un pats nepatīkamākais: labākās vakances — tās, kur alga tiešām atbilst jūsu pieredzei — visbiežāk tieši palaižat garām, jo tās publicēja otrdien plkst. 14:00, kamēr bijāt darbā, un līdz trešdienas vakaram tur jau ir 40 pieteikumi.
Alternatīva, kuru gribu parādīt: Telegram bots darba meklēšanai, kurš visu pārbaudi dara jūsu vietā. Viņš mostas agrāk par jums, apiet visas sešas vietnes, paņem katru jauno vakanci, novērtē to pret jūsu CV un atstāj čatā glītu atskaiti. Jūs pārskatāt atbilstības un izlaižat neinteresanto — uz visiem laikiem, lai to vairs nekad neredzētu. Viss interesantais, nosūtītais un noraidītais tiek automātiski izsekots starp šīm 15 000+ vakancēm. Meklēšana, filtri, režīms «tikai kategorija», izņēmumu saraksti — tas viss pāris klikšķos, nevis vairākās stundās, pārslēdzot cilnes.
Kas ir vakances_bot.py? Iepazīstieties: Telegram bots darba meklēšanai
vakances_bot.py ir Python bots Telegram, atsevišķs process no administrācijas
bota, kurš vāc datus, bet ar to pašu PostgreSQL datu bāzi. Vienkārši sakot, tā ir meklētāja
puse vakanču apkopošanas sistēmai. Datu vākšana (seši skrāpji katrai vietnei plus
cauruļvads) piepilda datu bāzi ar vakancēm, bet bots vakances pārvērš šos neapstrādātos datus
par personīgo asistentu darba meklēšanai tieši Telegram.
Lūk, ko bots dara, vienā elpas vilcienā:
- Apkopo 6 vietnes pēc grafika — cv.lv, ss.com, cvmarket.lv, liepajniekiem.lv, cvvp.nva.gov.lv (NVA valsts portāls) un prakse.lv (prakses).
- Nolasa jūsu CV — PDF vai DOCX. Izvelk tekstu, nosaka profesijas kategoriju un galvenās prasmes.
- Salīdzina katru jauno vakanci ar jūsu CV — caurskatāms vērtējums no 0 līdz 100, balstīts uz atslēgvārdu un kategorijas sakritību. Jūs redzat iemeslu, nevis noslēpumainu procentu.
- Vada jūsu meklēšanu — izlase, nosūtīšanai, pieteikumi, intervijas, atteikumi: seši saraksti, viens klikšķis uz katra.
- Rāda tirgu — /vakances izdod visas aktīvās vakances, sagrupētas pa profesijām ar skaitu, — uzreiz redzams, kur tiešām ir pieprasījums.
- Filtrē kā rekrutieris — pilsēta, minimālā alga, tikai attālināts darbs, izslēgtie atslēgvārdi, minimālais atbilstības punktu skaits.
Ja esat darba devējs vai jaunuzņēmums — tā pati arhitektūra tiek piedāvāta kā pakalpojums individuāla Telegram bota izstrāde no €60: datu vākšana, atbilstība, paziņojumi — viss, kas vajadzīgs jūsu procesam.
Kā tas darbojas: no CV augšupielādes līdz ikdienas atbilstību sarakstam
1. solis: augšupielādējiet CV vienu reizi
Nosūtiet /upload_cv un pievienojiet CV PDF vai DOCX formātā. Bots lejupielādēs
failu, izvilks tekstu ar pdfplumber (PDF) vai python-docx
(Word) un saglabās jūsu profilu datu bāzē. Ja PDF izrādīsies skenēts attēls bez teksta slāņa,
bots par to pateiks tieši un piedāvās teksta eksportu — bez klusām kļūdām.
2. solis: automātiskā marķēšana
Tiklīdz teksts ir izvilkts, bots marķē CV ar divām lietām: kategoriju (jūsu profesija, piemēram, «Programmēšana» vai «Finanses un grāmatvedība») un sarakstu ar atslēgvārdiem (jūsu prasmes, piemēram, Python, Django, PostgreSQL). To pašu uzdevumu ik pēc 30 minūtēm fonā veic jaunām vakancēm, tāpēc katrs datu bāzes ieraksts arī saņem kategoriju un atslēgvārdus. Atbilstībai nepieciešams, lai abas puses būtu marķētas.
Un, ja tagi šķiet neprecīzi, tos var izlabot pāris komandās: /cv_list → Edit.
3. solis: tūlītēja atbilstība + ikdienas atkārtojums
Marķēšanas brīdī bots novērtē CV pret visām vēl nepārskatītajām vakancēm un paziņo, cik atbilstību atrasts. Pēc tam katru rītu plkst. 09:00 pēc Rīgas laika plānotājs vēlreiz palaiž atbilstību visam jaunajam, bet plkst. 09:30 nosūta izlasi visiem, kuriem ir ieslēgti paziņojumi:
📬 Ikdienas izlase:
«Ikdienas izlase: jums ir 7 jaunas atbilstošas vakances! Izmantojiet /review, lai tās pārskatītu.»
4. solis: cauruļvads rūpējas par datu bāzes godīgumu
Datu vākšana nav tikai «lejupielādēt lapu». Katra palaišana salīdzina to, ko vietne rāda
šobrīd, ar to, kas jau ir datu bāzē. No vietnes pazudušās vakances tiek atzīmētas kā dzēstas;
atgriezušās — atjaunotas. Katra palaišana ieraksta rezultātus par katru vietni tabulā
scrape_results, kuru rāda /status — uzreiz redzams, vai bots
paspēj ar katru no sešiem portāliem.
6 darba portāli, kurus pārbauda bots — un kāpēc katrs ir svarīgs
Latvijas darba tirgus ir izkaisīts pa vairākiem portāliem, un katram ir savs raksturs. Tieši tāpēc skrāpis tiešām noder: jūs saņemat visu vienuviet, bez dublikātiem — datu bāze indeksē vakances pēc unikālas saites.
| Vietne | Kas tā ir | Aktīvo vakanču | Īpatsvars |
|---|---|---|---|
| ss.com | Liels sludinājumu dēlis ar lielu «Darbi» sadaļu | 6,412 | 41% |
| cvvp.nva.gov.lv | Publiskais Nodarbinātības valsts aģentūras (NVA) vakanču portāls | 4,442 | 29% |
| cv.lv | Lielākais Latvijas vakanču portāls — šeit publicējas gandrīz katrs darba devējs | 2,228 | 14% |
| cvmarket.lv | Neliels portāls ar orientāciju uz konkrētām nozarēm | 2,017 | 13% |
| liepajniekiem.lv | Reģionālā vietne, visspēcīgākā Kurzemē un Liepājā | 274 | 2% |
| prakse.lv | Prakses un studentu pozīcijas | 175 | 1% |
Pāris novērojumi no reāla eksporta. Uz vienu ss.com attiecas 41% tirgus,
un tur pilns ar sludinājumiem, kuri nekad nenonāk uz cv.lv, — tāpēc skrāpēt tikai
«galveno» portālu nozīmē zaudēt gandrīz pusi vakanču. NVA valsts portāls
(cvvp.nva.gov.lv) ir otrais lielākais avots, 29%: tas tiek nolasīts caur
vietnes pašu JSON API, un tieši tur dzīvo reģistrēto un valsts darba devēju sludinājumi.
cv.lv un cvmarket.lv kopā pievieno vēl 27%. Uz reģionālajām un studentu vietnēm attiecas
tikai apmēram 3% — bet cilvēkam Liepājā vai studentam tieši šie 3% ir visa jēga.
Skrāpji ir apzināti pieklājīgi: nejaušas 2–5 sekunžu pauzes starp pieprasījumiem, īsts pārlūkprogrammas User-Agent un stingrs lapu limits. NVA un prakse.lv tiek apkopotas caur to pašiem publiskajiem JSON galapunktiem — tie paši pieprasījumi, ko dara viņu vietne, — tas ir ātrāk un uzticamāk nekā HTML parsēšana.
Pilns komandu ceļvedis: jūsu darba meklēšanas vadības panelis
Lūk, pilna vakances bota komandu karte. Katru dienu visas nav vajadzīgas — lielākā daļa
dzīvo /review, /vakances un find, — bet pilna
saraksta zināšana pārvērš botu no rotaļlietas par sistēmu.
| Komanda | Ko dara |
|---|---|
| /start | Sveiciena izvēlne ar galveno scenāriju: CV, pārskatīšana, vakances, meklēšana, nesenās |
| /upload_cv | Augšupielādēt CV PDF/DOCX — tas uzreiz tiek marķēts un saskaņots |
| /cv_list | Jūsu CV saraksts: aktivizēt, deaktivizēt, rediģēt tagus, augšupielādēt, dzēst |
| /review | Izvēlēties kategoriju un pārskatīt atbilstības pa vienai vakancei |
| find <vaicājums> | Vakanču meklēšana pēc nosaukuma visās vietnēs (piemēram, find Python, find Rimi) |
| /recent | Pēdējās 50 vakances, kas publicētas pēdējo 24 stundu laikā |
| /vakances | Visas aktīvās vakances pa profesijām ar skaitu — tirgus apskats |
| /status | Apkopošanas statuss pa vietnēm: skaits pa portāliem, kopsavilkumi, nākamās atbilstības laiks |
| /stats | Jūsu personīgais process: izlase, nosūtīšanai, pieteikumi, intervijas, atteikumi |
| /saved | Visas saglabātās vakances no visiem sarakstiem |
| /pending | Vēl nepārskatītās atbilstības, vispirms labākās pēc punktiem |
| /wishlist, /to_send, /applied, /to_interview, /rejected, /skipped | Piekļuve katram statusu sarakstam ar vienu klikšķi |
| /location | Iestatīt vienu vai vairākas pilsētas: /location Rīga, Liepāja, Jelgava |
| /locations | Top-40 lokācijas ar vakanču skaitu — kur darbs tiešām ir |
| /settings | Kārtošana, paziņojumi, minimālais punktu skaits, rādīt apskatītās, tikai attālināts, alga |
| /export | Lejupielādēt izsekotās vakances Excel formātā, sagrupētas pēc CV |
| /xls | Lejupielādēt visu vakanču un uzņēmumu datu bāzi Excel formātā |
| /log, /logs | Lejupielādēt šodienas vai pēdējos bota žurnālus — ērti atkļūdošanai |
| /help | Pilna instrukcija ar komandām, vienmēr vienā ziņojumā |
Un viena paslēpta iespēja: jebkurš ziņojums, kas sākas ar show N
(piemēram, show 25), atver vakances kategorijai ar šo numuru no
/vakances saraksta. Bots to iesaka pēc katra tirgus apskata — tas ir ātrākais ceļš
no jautājuma «cik vakanču?» līdz «rādiet pašas vakances».
Kā darbojas atbilstība: caurskatāms vērtējums bez melnās kastes
Parunāsim par bota sirdi — un pie reizes kliedēsim vienu mītu. Daudzi «viedie vakanču ieteikumi» pārdod noslēpumainu algoritmu. Šis bots ir uzbūvēts otrādi: vērtējums ir īsa lasāma funkcija Python, kuru var nokopēt notebook un pārbaudīt manuāli.
Vakances vērtējums sastāv no divām daļām:
- Atslēgvārdu sakritība (līdz 80 punktiem) — cik no vakances atslēgvārdiem sastopami jūsu CV atslēgvārdos. Tiek izmantots Jaccard stila kopīgums: kopīgums ÷ vakances atslēgvārdi.
- Kategorijas bonuss (20 punkti) — ja jūsu CV kategorija precīzi sakrīt ar vakances kategoriju (neatkarīgi no reģistra), saņemat visus 20.
- Rezerves meklēšana pēc nosaukuma — ja pēc atslēgvārdiem nekas neatradās, bots tomēr ķer vakances, kuru nosaukumā ir jūsu atslēgvārdi (piemēram, «Python» — «Python Developer»).
Izskatīsim trīs reālus piemērus, lai vērtējums pārstātu būt abstrakcija:
| Vakance | Vakances atslēgvārdi | Sakritība | Kategorija? | Punkti |
|---|---|---|---|---|
| Backend Developer (Python) | python, django, postgresql, git | 3/4 → 75 | ✅ +20 | 95 |
| Full-stack JS Developer | javascript, react, node.js | 0/3 → 0 | ❌ +0 | 0 (ignorēta) |
| Python Data Analyst | python, sql, excel | 1/3 → 33 | ❌ +0 | 33 |
| Django Developer (meklēšana pēc nosaukuma) | vēl nav marķēta | nosaukumā ir «django» | — | 30 (rezerves) |
Kāpēc vērtējums ir tieši tāds, nevis sarežģītāks? Trīs iemesli. Tas ir ātrs — simtiem vakanču saskaņošana aizņem sekundes tīrā Python, bez ārējiem izsaukumiem. Tas ir izskaidrojams — katram punktam ir redzams, nolasāms un pārbaudāms iemesls. Un tas ir vadāms — savu minimālo slieksni iestatāt /settings (30, 50, 70 vai 90), tāpēc režīms «tikai spēcīgas atbilstības» ieslēdzas ar vienu klikšķi.
/vakances: Latvijas darba tirgus vienā acu uzmetienā (pa profesijām)
Tagad pats interesantākais. /vakances pārvērš visu datu bāzi par tirgus pārskatu:
katra aktīvā vakance Latvijā, sagrupēta pa profesijām un sakārtota pēc pieprasījuma. Bots
uztur vārdnīcu ar 41 profesijas kategoriju — no Pārdošana un Ražošana
līdz Programmēšana, Medicīna, Loģistika un Noliktavas — un katra vakance saņem vienu
vai vairākus šādus tagus.
Lūk, kā izskatās tipisks izvads — reāli skaitļi no 2026. gada 18. augusta eksporta, 15 548 vakances. SQL zem tabulas ļaus iegūt aktuālus datus jebkurā dienā:
| ID | Kategorija (profesija) | Vakanču | Tirgus īpatsvars |
|---|---|---|---|
| 04 | Vadība un menedžments | 2,430 | 15.6% |
| 01 | Pārdošana | 2,168 | 13.9% |
| 41 | Cits (bez kategorijas / jaukts) | 2,023 | 13.0% |
| 05 | Būvniecība | 1,723 | 11.1% |
| 02 | Ražošana | 1,651 | 10.6% |
| 03 | Auto un serviss | 1,258 | 8.1% |
| 37 | Speciālisti | 1,003 | 6.5% |
| 11 | Virtuve un ēdināšana | 903 | 5.8% |
| 07 | Māksla un dizains | 815 | 5.2% |
| 08 | Noliktavas | 778 | 5.0% |
| 22 | Izglītība | 718 | 4.6% |
| 26 | IT atbalsts un tīkli | 689 | 4.4% |
| — | + vēl 29 (Santehnika un remonts 490, Medmāsas un farmācija 117, Programmēšana 157, Mediji 62, Juridiskie 74, Tūrisms un valodas 31…) | pārējās | pārējās |
Piezīme: viena vakance var nest vairākas kategorijas (piemēram, «projektu vadītājs būvniecībā»), tāpēc procenti kopā dod vairāk nekā 100% — tie rāda, cik bieži profesija sastopama visā datu bāzē, nevis stingru tirgus sadalījumu.
Ko tas dod praksē? Divas lietas. Pirmā — kur ir daudz vakanču: vadība (2 430), pārdošana (2 168), būvniecība (1 723) un ražošana (1 651) dominē tirgū. Ja strādājat kādā no šīm jomām, piedāvājumu šobrīd ir daudz. Otrā — kur konkurence ir zemāka: niša kā Programmēšana (157 marķētas vakances) vai Medmāsas un farmācija (117) ir tieva salīdzinājumā ar 2 430 vakanču vadībā — dažkārt visdraudzīgākais tirgus ir tas, kur sludinājumu ir mazāk, nevis vairāk. Un tālāk, kad uzkrāsies pietiekami daudz datu, var parādīties arī /trends: kuras profesijas aug, kur ir pieprasījums, bet kuras lēnām mirst.
Ierakstiet
show 25čatā, lai uzreiz atvērtu programmēšanas kategoriju — bots pārvērš jebkuru kategorijas ID no /vakances par apskatāmu vakanču sarakstu.
/locations: kur atrodas vakances (un kāpēc «Riga» = «Rīga»)
/vakances rāda, kuras profesijas tirgus prasa; /locations —
kur tās atrodas. Bots sagrupē katru aktīvo vakanci pēc lokācijas un sarindo vietas
pēc vakanču skaita — 589 unikālās lokācijas bija ar atvērtām vakancēm
2026. gada augusta momentuzņēmumā. Pēc noklusējuma tiek rādīts top-40;
/locations 100 izvada pilno tirgus karti.
| # | Lokācija | Vakanču | Īpatsvars |
|---|---|---|---|
| 1 | Rīga | 4,382 | 28.2% |
| 2 | Rīga, centrs | 932 | 6.0% |
| 3 | Liepāja | 498 | 3.2% |
| 4 | Rīga / Hibrīddarbs | 481 | 3.1% |
| 5 | Jelgava | 286 | 1.8% |
| 6 | Rīgas rajons, Mārupes pag. | 245 | 1.6% |
| 7 | Rīga, Pļavnieki | 224 | 1.4% |
| 8 | Mārupe | 214 | 1.4% |
| 9 | Daugavpils | 203 | 1.3% |
| 10 | Jelgava un raj., Jelgava | 182 | 1.2% |
| 11 | Rīga, Ziepniekkalns | 177 | 1.1% |
| 12 | Rīga, Purvciems | 163 | 1.0% |
| — | + vēl 577 lokācijas (Rēzekne 105, Sigulda 99, Bauska 103, Ventspils 87, Olaine 83…) | pārējās | pārējās |
Ģeogrāfija ir stingri koncentrēta: saskaitiet visus Rīgas ierakstus no top-40 — pašu pilsētu, centru, katru rajonu, hibrīdos sludinājumus — un sanāk 8 662 no 15 548 vakanču, gandrīz puse no visa tirgus vienā pilsētā, vēl pirms Rīgas gredzena pievienošanas (Mārupes pag. 245, Ķekavas pag. 95, Ādažu nov. 94). Otrā pilsēta, Liepāja, ir 498 (591 kopā ar rajonu), tad Jelgava — 286, Daugavpils — 203. Praktisks secinājums tiem, kas meklē darbu Rīgā: pilsētas filtrs nav patīkams bonuss, bet atšķirība starp 28.2% tirgus un 100% trokšņa.
Attālināts, hibrīds un nepilna laika darbs: godīgi skaitļi
Latvijā joko, ka tagad jebkurš darbs ir hibrīds, — dati saka pretējo. 2026. gada augusta momentuzņēmumā tikai 587 no 15 548 sludinājumiem (3.8%) piemin attālināto darbu jebkādā formā, un 581 no tiem nāk no viena cv.lv. Nepilna laika darbs sastopams vēl retāk. Lūk, pilnā aina no eksporta:
| Veids | Latviešu termins | Vakanču | Īpatsvars |
|---|---|---|---|
| Hibrīds | Hibrīddarbs | 547 | 3.5% |
| Pilnībā attālināts | Attālināti / Darbs no mājām | 40 | 0.3% |
| Nepilna laika darbs | Nepilna slodze / Pusslodze / Part-time | 51 | 0.3% |
Pilnībā attālināts darbs ir retums: tikai 40 sludinājumi (35 «Attālināti» plus 5 «Darbs no mājām») uz visu valsti. Ja attālinātais darbs jums ir obligāts nosacījums, īsais saraksts būs īss — labāk to uzzināt pirmajā nedēļā, nevis pēc mēneša skrullēšanas. Nepilna laika darbs (nepilna slodze, pusslodze) ir koncentrēts tieši tur, kur gaidīts: mazumtirdzniecības tīklos (Douglas, Jysk, New Yorker, Maxima), Lido un Rīgas veikalu letēs. No 51 nepilna laika vakances 23 ir uz ss.com, 18 uz cvmarket.lv un tikai 9 uz cv.lv — vēl viens arguments, kāpēc vākt ne tikai «lielās» vietnes. Attālinātā darba slēdzis /settings ņem vērā visus sinonīmus — Hibrīddarbs, Attālināti, Darbs no mājām, remote, hybrid — tāpēc filtrs tiešām atrod visu.
«Riga» un «Rīga» — viena un tā pati vieta
Sešu skrāpju neapstrādātie dati ir haotiski pilnīgi cilvēciskā veidā. ss.com un cv.lv raksta
adreses («Meistaru iela 10, Rīga»), dažas vietnes pievieno valsti («Rīga, Latvija» vai
«Rīga, Latvia»), bet jūs kā lietotājs pusē gadījumu ierakstīsit Riga uz angļu
tastatūras bez makrona. Lokāciju slānis botā visu to apstrādā:
- Ielu adreses saplūst ar savu pilsētu — «Meistaru iela 10, Rīga», «Hipokrāta iela 2, Rīga» un «Bruņinieku iela 5 k-2, Rīga» tiek ieskaitītas kā Rīga, nevis kā trīs spoku lokācijas.
- Valstu sufiksi tiek atmesti — «Rīga, Latvija» un «Rīga, Latvia» ir viena un tā pati Rīga.
-
Diakritikai nav nozīmes —
Riga,Rīga,LiepajaunLiepājatiek uzskatīti par vienādiem visur — gan /locations grupēšanā, gan jūsu /location filtros.
Pirms šīs normalizācijas datu bāzē bija 2 451 lokācijas rinda, kas nesakrita ne ar ko
no kanoniskā saraksta. Pēc tās 589 kanoniskās lokācijas aptver visu tirgu, un ārpusē
paliek tikai dažas lauku adreses-kuriozi. Tas pats mehānisms darbojas arī filtros:
iestatot /location Riga, jūs klusām saņemat visus Rīga rakstības variantus —
apmēram 9 500 vakanču augusta momentuzņēmumā.
Iestatiet savas pilsētas vienu reizi:
/location Riga, Liepaja, Jelgava— makroni nav vajadzīgi — un katrs saraksts, izlase un pārskats botā tās ņems vērā.
Pārskatīšanas process: 8 pogas, 6 saraksti, nevienas tabulas
Ikdienas cikls ir /review. Bots sagrupē nepārskatītās atbilstības pa kategorijām,
jūs izvēlaties vienu, un tālāk vakances iet pa vienai kartītei. Uz katras kartītes — amata
nosaukums, uzņēmums, alga, lokācija, atbilstības punkti ar atšifrējumu un sešas darbību pogas:
🔘 6 darbību pogu režģis:
- ⭐ Izlase — «paturēšu, atgriezīšos»
- ⏭ Izlaist — «nav mans» (vēlāk var atrast /skipped)
- 📤 Nosūtīšanai — «CV gatavs, nosūtīšu šodien»
- ☑ Pieteikts — «nosūtīju»
- 🎤 Intervija — «viņi vēlas tikties»
- ❌ Atteikums — «viņi atteica»
Pluss prev/next rinda pāršķirstīšanai un automātiskā pāreja: nospiežat statusu — nākamā kartīte ielādējas uzreiz. Viena sesija, četrdesmit vakances, sešas minūtes.
Katrs statuss pārvēršas par sarakstu, kuru var atvērt jebkurā brīdī: /wishlist,
/to_send, /applied, /to_interview, /rejected,
/skipped. Un tā kā katra darbība tiek ierakstīta user_actions tabulā,
uz mūžīgo jautājumu «kur es esmu šajā procesā?» atbild /stats vienā ziņojumā.
Iestatījumi: pilsēta, alga, attālinātais darbs, atslēgvārdi — noregulējiet botu sev
Darba meklēšanas bots, kuram vienalga, kur jūs dzīvojat un cik pelnāt, — tā ir vitrīna,
nevis filtrs. Tāpēc vakances ir pilnvērtīga iestatījumu sistēma, kas pieejama caur
/settings un /location:
| Iestatījums | Ko dara | Piemērs |
|---|---|---|
| 📍 Vēlamās lokācijas | Rādīt tikai vakances izvēlētajās pilsētās (var vairākas) | /location Rīga, Liepāja, Jelgava |
| 💰 Minimālā alga | Slēpt visu, kas zemāks par jūsu summu eiro | 1500 |
| 🏠 Tikai attālināts darbs | Tikai sludinājumi, kuros minēts Hibrīddarbs, Attālināti, Darbs no mājām, remote vai hybrid | Ieslēgts / Izslēgts |
| 🎯 Minimālais punktu skaits | Slieksnis atbilstībām: 30, 50, 70 vai 90 | 70 = tikai spēcīgas atbilstības |
| 🔎 Meklēšanas vārdi | Atslēgvārdi, kas jums svarīgi (tiek izmantoti find/meklēšanā) | Python, Django, Backend |
| 🚫 Izslēgtie vārdi | Nekad nerādīt šo — piemēram, Junior, Internship | Junior, Internship |
| 👁 Rādīt apskatītās | Slēpt jau apskatītās vakances, lai saraksti paliktu svaigi | Slēpt |
| 📂 Noklusējuma kārtošana | Vispirms jaunās vai vispirms labākās atbilstības | Labākās atbilstības |
| 🔔 Paziņojumi | Ikdienas jaunu atbilstību izlase plkst. 09:30 | Ieslēgts |
Pievērsiet uzmanību izslēgto vārdu paņēmienam — tā ir visnepietiekami
novērtētā funkcija. Ja esat vidējā līmeņa izstrādātājs, Junior, Internship, Prakse
pievienošana izņēmumiem ar vienu darbību noņem kaitinošāko troksni gan no atbilstībām,
gan no meklēšanas.
Tehnoloģiju kaudze (tehniķiem): kā uzbūvēts vakances_bot.py
Ja esat izstrādātājs un domājat «gribu tādu savam uzņēmumam» vai vienkārši «gribu uzbūvēt savējo» — lūk, kas ir iekšā. Viss uzskaitītais zemāk ir atvērtais kods un bez maksas.
| Slānis | Tehnoloģija | Kāpēc |
|---|---|---|
| Valoda | Python 3 | Ekosistēma skrāpēšanai un Telegram ir gandrīz ideāla |
| Telegram interfeiss | python-telegram-bot | Tīrs async API komandām, inline tastatūrām un atbildēm |
| Plānotājs | APScheduler (AsyncIOScheduler) | Marķēšana ik pēc 30 minūtēm, atbilstība 09:00, izlase 09:30, Rīgas laika josla |
| Datu bāze | PostgreSQL + psycopg2 | Viena kopīga datu bāze admin botam un vakances botam |
| Datu vākšana | requests + BeautifulSoup | HTML parsēšana ar pieklājīgām 2–5 sekunžu pauzēm; JSON API NVA un prakse.lv |
| CV parsēšana | pdfplumber + python-docx | Teksta iegūšana no PDF un DOCX |
| Eksports | openpyxl | XLSX eksports no izsekotajām vakanču un visas datu bāzes |
| Laika josla | pytz Europe/Riga | Visi grafiki un laika zīmogi dzīvo Rīgas laikā |
Lai bots strādātu 24/7, es to palaidu kā pakalpojumu — tā tas pārdzīvo pārstartēšanu un kļūmes:
[Unit]
Description=Vakances Telegram Job Bot
After=network.target postgresql.service
[Service]
WorkingDirectory=/root/bot-folder
ExecStart=/root/bot-folder/venv/bin/python vakances_bot.py
Restart=always
[Install]
WantedBy=multi-user.target
Uzturēšana tiešām nav dārga: VPS par €5–15 mēnesī (servera daļu skatiet manā Nginx iestatīšanas rokasgrāmatā) velk visu sistēmu, bet PostgreSQL ir bezmaksas. Ja nevēlaties visu būvēt pats — tieši šo arhitektūru es piegādāju kā skrāpja bota izstrādes pakalpojumu — no €60.
Godīgi ierobežojumi: ko bots nedara
Jebkuram labam instrumentam ir jābūt godīgai ierobežojumu sadaļai. Lūk, ko vakances bots nedara — un to ir vērts zināt, pirms uzticat tam savu darba meklēšanu.
- Viņš neiesniedz pieteikumus jūsu vietā — Bots izseko pieteikumus, bet sūtāt tos jūs. Lielākā daļa Latvijas darba devēju tomēr gaida dzīvu ziņojumu — akla autopieteikšanās kaitē biežāk, nekā palīdz.
- Skrāpēšana ir pelēkā zona — Portālu lietošanas noteikumi formāli aizliedz automātisku vākšanu. Praksē pieklājīgu vākšanu ar zemu biežumu pacieš, jo tā atved trafiku. Turiet pauzes saprātīgas un nekad neaizsprostojiet vietni.
- Vietnes maina HTML — Kad portāls maina dizainu, skrāpis salūst. Cauruļvads par to skaidri paziņo, un parsētāja salabošana parasti aizņem 15–30 minūtes.
-
Atbilstība pēc atslēgvārdiem, nevis domu lasīšana —
Vakance, kas apraksta jūsu lomu pavisam citiem vārdiem,
var saņemt zemu vērtējumu. Tāpēc atšifrējums ir redzams, sliekšņi iestatāmi,
un meklēšana (
find) eksistē kā apdrošināšana. - Vakances pazūd — Uzņēmumi slēdz sludinājumus; bots tos atzīmē kā dzēstus un izņem no sarakstiem. Ja intervijas uzaicinājums pazuda no vēstures — tas ir uzkopšana, kas dara savu darbu.
Bots pret manuālo meklēšanu un rekrutieriem: godīgs salīdzinājums
Vai bots tiešām ir labāks par alternatīvām? Noliksim tās blakus ar reāliem Latvijas tirgus skaitļiem.
| Metode | Laiks dienā | Aptvērums | Izsekošana | Izmaksas |
|---|---|---|---|---|
| Manuāla vietņu pārbaude | 30–45 min | Tikai vietnes, kuras atceraties | Piezīmju grāmatiņa / atmiņa | Bezmaksas (jūsu laiks) |
| Vietņu e-pasta izsūtnes | ~10 min (troksni lasot) | Viena vietne uz abonementu | Nav | Bezmaksas |
| LinkedIn / tīklošanās | 20–30 min | Uzņēmumi, kas tur publicējas | Manuāli | Bezmaksas / Premium |
| Rekrutieris | ~5 min | Tikai viņa klientu saraksts | To dara viņš | 10–20% no pirmās algas |
| Telegram bots darba meklēšanai | 2–4 min | 6 vietnes bez dublikātiem | 6 automātiski saraksti | €5–15/mēn par hostinga (vai €300 par izstrādi) |
Matemātika ir vienkārša: bots neaizstāj rekrutierus un tīklošanos — tas aizstāj garlaicīgās 30 minūtes. Tīklošanās paliek svarīga (cilvēciskā daļa darbā pieņemšanā nekur nepazudīs), bet neviens vēl nav dabūjis interviju par to, ka piecas reizes dienā pārlasījis vienus un tos pašus meklēšanas rezultātus uz cv.lv.
Biežāk uzdotie jautājumi par darba meklēšanu Latvijā
- Kā atrast darbu Rīgā ātrāk nekā 30 minūtes dienā?
- Apvienojiet lielos portālus (cv.lv, ss.com, cvmarket.lv) ar NVA valsts portālu un automātisko pārbaudi — Telegram bots dara visu to vienā čatā. Augšupielādējiet CV vienu reizi, iestatiet pilsētu un algu /settings un pārskatiet ikdienas atbilstības. Ātrumu dod aptvērums un agrs atbildes laiks — tieši to, ko dod automatizācija.
- Kas ir /vakances?
- Tirgus apskata komanda: visas aktīvās vakances datu bāzē,
sagrupētas pa profesijām ar skaitu un sakārtotas pēc pieprasījuma. Ierakstiet
show N(numuru no saraksta), lai atvērtu šīs kategorijas vakances. Ātrākais veids, kā redzēt, kur Latvijā šobrīd tiešām ir darbs. - Vai bots var pieteikties darbā manā vietā?
- Nē. Viņš rāda vakanci ar tiešu saiti un izseko jūsu statusu (nosūtīšanai → pieteikts → intervija → atteikums), bet CV sūtāt jūs. Autopieteikšanās sistēmas parasti atgriežas ar pretēju efektu pie darba devējiem — personīgs ziņojums joprojām uzvar.
- Cik precīzs ir atbilstības vērtējums?
- Vērtējums ir atslēgvārdu sakritība (līdz 80 punktiem) plus kategorijas bonuss (20 punkti), ar rezerves meklēšanu pēc nosaukuma. Viss caurskatāms: katra kartīte rāda sakritušos atslēgvārdus un kategoriju, bet slieksni (30/50/70/90) iestatāt jūs. Troksni viņš nogriež uzticami; vakances apraksta lasīšanu viņš nekad neaizstās.
- Kuras vietnes ir aptvertas?
- Sešas: cv.lv, ss.com, cvmarket.lv, liepajniekiem.lv, cvvp.nva.gov.lv (NVA valsts portāls ar 4 442 aktīviem sludinājumiem) un prakse.lv praksēm. Skrāpji tiek pievienoti — parasti tieši ar to sākas individuālās versijas.
- Cik maksā individuāls darba meklēšanas bots?
- Individuālā izstrāde — no €60 (datu vākšana + Telegram interfeiss + atbilstība). Hostings — €5–15 mēnesī. Bots vakances no šī raksta ir atsauces realizācija: pasakiet, kuras vietnes un filtri jums vajadzīgi, un es uzbūvēšu jūsējo.
- Vai vakanču vietņu skrāpēšana ir likumīga?
- Formāli tā pārkāpj vairuma vietņu noteikumus, bet pieklājīgu vākšanu ar zemu biežumu un pauzēm starp pieprasījumiem praksē plaši pacieš, jo tā atdod trafiku portāliem. Nepārslogojiet serverus, nepārpārdodiet datus — un esat tajā pašā pelēkajā zonā, kur tūkstošiem analītisko rīku.
Vai vēl meklējat darbu manuāli?
Ja meklējat darbu Rīgā vai citur Latvijā un vakanču vietnēs iet biežāk par divreiz nedēļā, pārstājiet. 30 minūtes ikdienas cilņu pārslēgšanas uz cv.lv, ss.com, cvmarket.lv un NVA portāla ir tieši tas darbs, ko datoram vajadzētu darīt.
Jūsu rīta rituāls tagad: atvērt Telegram, izlasīt izlasi, pāršķirstīt atbilstības, atzīmēt ar «pieteikts» vai «nē» — tīri 4 minūtes. Tirgus apskats rāda, kur patiesībā ir pieprasījums. Eksports uzliek visus pie Excel. Statusa saraksti seko, kurā stadijā ir katrs pieteikums.
Uzņēmumi vai aģentūras var to pašu padarīt saviem kandidātiem. Individuāla Telegram bota izstrāde no €60, ar šī raksta kodu kā aizgalvi.
Vienkāršs matemātika: Latvijas darba tirgus ir izkaisīts uz 6 vietnēm. Bots savāc visu vienā čatā. Pirmais to redzēs tas, kurš to sāka lietot šodien.