Skip to main content

A python package to scrape jobs from ethiojobs.net

Project description

PyEthioJobs
Asynchronous ethiojobs Scraper written with python3
Examples

What is this?

Asynchronous python3 Scrapper for ethiojobs.net

Installation

pip3 install -U git+https://github.com/wizkiye/pyethiojobs.git

Example Usage

from pyethiojobs import EthioJobs  
from pyethiojobs.types import EmploymentType

ethiojobs = EthioJobs()


#Searching for jobs
async def main():  
    results = await ethiojobs.search(
        "designer", 
        limit=10, 
        employment_type=EmploymentType.FULL_TIME
    )  # this will return list of jobs 
    for result in results:
        print(result.title) 
        print(result.link) 

# Getting list of categories        
async def main():  
    categories = await ethiojobs.get_categories()
    for category in categories:
        print(category.name)
        print(category.link)
        await category.get_jobs()  # this will return list of jobs in the category
    

# Getting list of jobs in a category
async def main():  
    jobs = await ethiojobs.get_category("category_link or Category Object")
    for job in jobs:
        print(job.title)
        print(job.link)

# Getting the latest jobs
async def main():  
    jobs = await ethiojobs.get_latest_jobs()
    for job in jobs:
        print(job.title)
        print(job.link)
        
# Getting Government jobs
async def main():  
    jobs = await ethiojobs.get_gov_jobs() # this will return list of GovJob
    for job in jobs:
        print(job.company)
        print(job.link)
if __name__ == "__main__":  
    import asyncio     
    loop = asyncio.get_event_loop()  
    loop.run_until_complete(main())

Using Decorators

from pyethiojobs import EthioJobs, filters
from pyethiojobs.types import  Job
ethiojobs = EthioJobs()

@ethiojobs.on_new_jobs()
async def new_job_handler(job: Job):
      print(job.__dict__)
     
     
# this is not tested yet :D
@ethiojobs.on_new_jobs(
    filters.valid_through(20) 
    & filters.work_place("Addis Ababa") 
    & ~filters.hiring_organization("Ethio Telecom")
)
async def new_filtered_job_handler(job: Job):
      print(job.__dict__)

if __name__ == '__main__':
     ethiojobs.run(poll_interval=30)

Contributing

If you want to contribute to this project, please read the CONTRIBUTING.md file.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyEthioJobs-0.0.8.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

pyEthioJobs-0.0.8-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file pyEthioJobs-0.0.8.tar.gz.

File metadata

  • Download URL: pyEthioJobs-0.0.8.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for pyEthioJobs-0.0.8.tar.gz
Algorithm Hash digest
SHA256 16438468b9021a8ce5f48cbc782db8fc96dfc7a9ca10c676c16226b6639b34f9
MD5 fa03d58891e1e28ba5d0a9e5ec31c511
BLAKE2b-256 63a30df54b282c5202b913d8353940692e49371a13fe54ca02b8d5c6f82d633e

See more details on using hashes here.

File details

Details for the file pyEthioJobs-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: pyEthioJobs-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for pyEthioJobs-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 166acaf65dadfe904d413734fa065a1689654d38c287e8e93b44565be98a3e09
MD5 1d308e00b699f4e6d8c424fd05f898de
BLAKE2b-256 b2e62300167bc0112f7371fe8e4a239bffa3d7b1e2a6a3b630fc305233420e1d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page