Skip to main content

job-hunting

A automated job finder that find and subscribe in job

instalation

Installed via pip:

pip install job-hunting

or from source:

python setup.py

and make sure that you download chromedriver that matches your chrome browser version

and create a ".env" file in your root directory and input the chromdrive path on it

CHROMEDRIVER_PATH="Your chromedrive path"

Usage

with vagas.com

from jobhunting.Models.vagasCom import VagasCom


def searchVagasCom(targetJob, vagasUser, vagasPassword, headless):
    vagas = VagasCom(chromedriver_path="C:\Selenium\chromedriver.exe", headless=headless)
    targetJob = "bots"
    job_site = vagas.appName
    
    print(f'{job_site} Iniciando...')
    try:
        print(f'{job_site} Tentando logar...')
        if not vagas.login(vagasUser, vagasPassword):
            print(f'{job_site} Login inválido ou campos errados!')
            vagas.quitSearch()
            return 

        print(f'{job_site} logado com sucesso!')

        print(f'{job_site} A selecionar vaga...')
        vagas.insertJob(targetJob)
        print(f'{job_site} Vaga selecionada!')

        print(f'{job_site} A ajustar opções...')
        vagas.searchOptions()
        print(f'{job_site} Feito!')

        print(f'{job_site} Listando Vagas...')
        vagas.selectJobs()
        print(f'{job_site} Feito!')
        print(f"{len(vagas.targetLink)} vagas encontradas!")

        success = 0
        fail = 0
        print(f"{job_site} Se inscrevendo nas vagas...")
        
        try:
            for index, target in enumerate(vagas.targetLink):
                if target.startswith("https://") or target.startswith("http://"):
                    status = vagas.subscribeJob(target)
                    if status == "Vaga cadastrada!":
                        success += 1

                    else:
                        fail += 1

                    print(f"{job_site} {index + 1} vaga, status: {status}")
        
        except Exception:  
            print(f"{job_site} erro ao se inscrever!")
        
        finally:
            vagas.quitSearch()

        print(f'Vagas inscritas {success}')
        print(f'Vagas ja inscritas anteriomente ou requer preenchimento adicional: {fail}')

    except Exception as error:
        print("Algum problema ocorreu e/ou as informações estão erradas!")
        # vagas.quitSearch()
        raise

    except KeyboardInterrupt:
        print('Saindo, volte sempre!')
        vagas.quitSearch()
        

or with infojobs

from jobhunting.Models.Infojobs import Infojobs


def searchInfojob(jobTarget, user, password, headless):
    """
    Infojobs automatic subscription job

    :jobTarget: target job to subsscribe
    :login: infojobs user to login
    :password: password to login
    """
    jobs = Infojobs(chromedriver_path="Your chromedriver path", headless=headless)
    site_job = jobs.appName
    job_type = jobTarget

    try:
        print(f'{site_job} Iniciando...')
        print(f'{site_job} Tentando logar...')
        
        if not jobs.login(user, password):
            print(f"{site_job} Login inválido ou campos errados!")
            jobs.quitSearch()
            sys.exit()

        print(f'{site_job} Selecionando vaga...')
        jobs.searchList(job_type)
        print(f'{site_job} Feito!, buscando vagas para {site_job}')

        print(f'{site_job} Ajustando opções...')
        jobs.searchOptions()
        print(f"{site_job} Feito!")

        print(f'{site_job} Selecionando vagas disponiveis...')
        jobs.getJob()
        print(f'{site_job} {len(jobs.jobsLink)} Vagas selecionadas!')

        success = 0
        fail = 0
        print(f"{site_job} Se inscrevendo nas vagas...")
        
        for index, target in enumerate(jobs.jobsLink):
            if target.startswith("https://") or target.startswith("http://"):
                status = jobs.subscribeJob(target)
                if status == "Vaga cadastrada!":
                    success += 1

                else:
                    fail += 1

                print(f"{site_job} {index + 1} vaga, status: {status}")

        jobs.quitSearch()

        print(f'Vagas inscritas {success}')
        print(f'Vagas ja inscritas anteriomente ou requer preenchimento adicional: {fail}')

    except Exception as error:
        jobs.quitSearch()
        print("Algum problema ocorreu e/ou as inforamções estão erradas!")
        print(f"Erro {error}, contate o adminstrador do sistema")

    except KeyboardInterrupt:
        print('Saindo, volte sempre!')
        jobs.quitSearch()

Release files for job-hunting 0.2.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for job-hunting 0.2.18
File Size Uploaded
job-hunting-0.2.18.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for job-hunting 0.2.18
File Interpreter ABI Platform
job_hunting-0.2.18-py3-none-any.whl Python 3 none any Details

Total release size: 26.1 kB

Release files / job-hunting-0.2.18.tar.gz

Download URL job-hunting-0.2.18.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2bc067f5dea9e2158c0e73f18856fd17054975189c3a3f878960b947f60db1e2
BLAKE2b-256 checksum
How to use checksums
024859b845306f5ba2422bf013b7697dbe16838cb536ce2a414b2a95d2f2dd76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release files / job_hunting-0.2.18-py3-none-any.whl

Download URL job_hunting-0.2.18-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
348bd8b6d4b01ec89fb8dc4b1977a360b1d606400504de8949f7434f2c4c2adf
BLAKE2b-256 checksum
How to use checksums
389cc736b02963d48d00d7387cbb4a5533f22f7e4cc9ceb4734b1199febdde92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.2.18 This release

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page