Table of Contents
This innovative project automates the generation of personalized cover letters by scraping LinkedIn profiles and leveraging AI technology through the OpenAI API. By intelligently analyzing user information, the software tailors each cover letter to match the applicant's experiences and skills with the job's requirements, ensuring a highly personalized and impactful application. This approach not only streamlines the job application process but also maximizes the chances of catching a potential employer's attention, setting a new standard for how technology can empower job seekers in their career aspirations.
This project is developed solely for educational purposes to demonstrate the capabilities of web scraping and AI-powered content creation. Please be aware that scraping LinkedIn is against their Terms of Service. Users choosing to implement or use this program do so at their own risk and are fully responsible for complying with LinkedIn's policies and any applicable laws. This tool is not endorsed by or affiliated with LinkedIn or OpenAI. Always consider ethical guidelines and the legal implications of web scraping before use.
This project was inspired by the remarkable work found at linkedin-python-scrapy-scraper, a GitHub repository showcasing the use of Python and Scrapy for scraping LinkedIn profiles. The innovative approach to data extraction demonstrated by this scraper laid the groundwork for my own project, expanding the possibilities of what can be achieved with web scraping and AI technologies in professional development.
-
Set up a proxy
- Since LinkedIn does not permit users to scrape its data, you must set up a proxy.
- You can sign up for a free API key here. ScrapeOps has a free plan that allows you to make up to 1,000 requests per month.
- Get your API key and add to the
SCRAPEOPS_API_KEY
in thesettings.py
file.SCRAPEOPS_API_KEY = 'YOUR_API_KEY' SCRAPEOPS_PROXY_ENABLED = True DOWNLOADER_MIDDLEWARES = { 'scrapeops_scrapy_proxy_sdk.scrapeops_scrapy_proxy_sdk.ScrapeOpsScrapyProxySdk': 725, }
-
Set up an OpenAI API
- To use this software, you need an OpenAI API key, which powers the AI-driven features, including generating personalized cover letters based on your LinkedIn profile.
- Sign up for an account at OpenAI
- Once you have an OpenAI account, log in and go to the API section and then to API Keys sidebar sectioon. Here, you'll find your API key, which is a unique token you'll use to authenticate your requests.
- Get your API key by pressing Create new secret key
- Your API key is like a password. Keep it secure and do not share it. Store it in a safe place, as you will need it to configure the software.
- Copy your API key and add to the
OPENAI_API_KEY
in thelinkedin/spiders/linkedin_people_profile.py
file.""" BUILDING COVER LETTERS BASED ON THE DATA FROM LINKEDIN """ desired_role = input("Enter the desired role: ") company = input("Enter the company name: ") extra = input("Enter any additional information you want to focus on in your cover-letter (optional): ") client = OpenAI(api_key = 'OPENAI_API_KEY')
-
Clone the repo
git clone https://github.com/cprite/cover-letter-builder.git
-
Install the required dependencies
pip install -r requirements.txt
-
Profile visibility
- Ensure your LinkedIn profile is set to public visibility to utilize this software successfully.
-
Ready to Go!
- To run the program, execute the following command and follow simple instructions
scrapy crawl linkedin_people_profile
- All cover letters will be saved in the program folder in
cover_letters.txt
file
- To run the program, execute the following command and follow simple instructions
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request