Skip to main content

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

Metadata

Release files for pyEthioJobs 0.0.8

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

Source distribution (sdist)

Source distribution for pyEthioJobs 0.0.8
File Size Uploaded
pyEthioJobs-0.0.8.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyEthioJobs 0.0.8
File Interpreter ABI Platform
pyEthioJobs-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 34.8 kB

Release files / pyEthioJobs-0.0.8.tar.gz

Download URL pyEthioJobs-0.0.8.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
16438468b9021a8ce5f48cbc782db8fc96dfc7a9ca10c676c16226b6639b34f9
BLAKE2b-256 checksum
How to use checksums
63a30df54b282c5202b913d8353940692e49371a13fe54ca02b8d5c6f82d633e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release files / pyEthioJobs-0.0.8-py3-none-any.whl

Download URL pyEthioJobs-0.0.8-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
166acaf65dadfe904d413734fa065a1689654d38c287e8e93b44565be98a3e09
BLAKE2b-256 checksum
How to use checksums
b2e62300167bc0112f7371fe8e4a239bffa3d7b1e2a6a3b630fc305233420e1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

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