Skip to content

OREdwardsJr/job-scraping-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

Discord LinkedIn


Discord Job Finder

Learning how to code is a rewarding, yet difficult task. Finding a job is even more difficult! This bot intends on making the job search easier for programmers so that they can focus more attention on building their skills and staying updated with the latest trends.

This project grabs 25 job postings from LinkedIn and sends them to our discord chat, where you can find a ton of helpful resources and community members that are all looking to uplift one another. The postings are all remote Software Engineering positions that are either listed as entry level or internships.

This bot alleviates some of the stresses and pressure of searching for jobs by taking care of that for you. I believe that coders should be able to spend more time coding and less time worrying about finding the right opportunity!
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact

About The Project

This project was birthed from a desire to contribute to the Computer Science/Tech community. One of the most important aspects of this community is its willingness to help and share. Therefore, I desire to do the same.

Within this project are two bots that have a loose connection with one another:

Linked-In Job Scraper (linked-in-bot.py)

This bot scrapes LinkedIn for 25 Remote(USA) Entry-Level Software Engineer positions. It is packaged to be used immediately without any prior knowledge of webscraping, unless you'd like to change the search configurations. If you'd like to do so, but are unsure of how to adjust the bot, then please contact me. If enough interest is captured then I'll expand this ReadMe to include instructions on how to do so.

Discord Automated Poster (discord-bot.py)

This bot posts to Discord at 8am PST everyday with jobs that are passed as an argument from the linked-in bot. It is configured to receive the job postings as an import from linked-in-bot.py. The jobs are passed as a nested list, which are sent individually until all inner-lists are popped.

(back to top)

Built With

(back to top)

Getting Started

The LinkedIn bot is ready for execution as long as you have the appropriate dependencies - imports.py has a list of necessary dependencies for the Python script. While some libraries come pre-installed with Python (EG: Requests), others may not. A few simple pip3 install commands will get the necessary dependencies added to your machine. If you are unfamiliar with how to install Python packages, then I'd recommend that you simply google how to do so. It's a simple process.

Discord's API, however, requires that you register for unique keys. This is to prevent someone misusing your bot and having your permissions stripped. Take a quick peek at the Discord Developer Portal to grab your own set of keys. I have used environment variables to protect my keys from public viewing. You will need to replace assign your token to the TOKEN variable. You will also need to grab your desired Discord Channel ID and insert it into the GUILD variable. However, once those variables are configured then you are ready to go 😄

Automatic posting

If you would like to have this project run automatically then there are a few ways to do so. You will need to decide the best way to execute this for yourself. I ran into challenges in the two methods that I've tried. I will list my methods below:

Cron (Functional but currently deprecated in favor of launchd

Using Cron, I can schedule my task to run in the background successfully. The problem with this method is that your server needs to be active at the scheduled time or the job will be skipped until the next scheduled time. I find it unreliable to depend on having my computer active at a certain time, everyday.

EC2

This was my preferred method until I ran into a block from LinkedIn. After launching my instance, LinkedIn gave me 999 responses to my request through the Ubuntu AMI. It appears that you can make successful requests from your computer but LinkedIn blocks requests to his site from EC2 Ubuntu servers. I will update this if I come across a workaround.

(back to top)

Usage

If you are inexperienced with web-scraping then please make sure you are aware of LinkedIn's Policy for bots. They are prohibited without express written-consent. You should use the LinkedIn bot as a study tool until you have been provided written-consent.

Discord is more friendly to bots. It's still important that you read their terms and conditions. However, generally speaking, you should be able to use discord-bot.py safely.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Orlando Edwards Jr. - @LinkedIn

Project Link: https://github.com/OREdwardsJr/job-scraping-bot

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages