Internshala Automation tool to automate internship application process using Python and ChatGPT.
APACHE-2.0 License
I was recently looking for internships on Internshala. At the beginning, I applied to 2-3 internships. Then I saw on Internshala that they say you have to apply to at least 15 internships to get a response from 1 employer. I was like, WTF! Applying for one internship takes me around 5 minutes—from finding the right one to writing a cover letter using ChatGPT, while mentioning my skills, projects, and other things in the cover letter. To make things worse, if there's any assignment in the application process, it takes around 7 to 10 minutes to apply to just one internship. So, I thought, what if I automate everything—from finding internships to updating my resume, writing the perfect cover letter, and even solving assignments—so I could relax and endlessly scroll through Instagram (which shows me depressing content and whose algorithm is getting way too personal day by day).
Execute this command in your terminal:
pip install internshala-bot
Then install the Chromium web browser for Playwright:
python3 -m undetected_playwright install chromium
On UNIX-based OS, you might run into the following errors
Permission denied: '...python3.**/site-packages/undetected_playwright/driver/playwright.sh'
and
...python3.**/site-packages/undetected_playwright/driver/node: Permission denied
To resolve them, simply run
chmod +x <The path your terminal tells you>.sh
# so smth like: ...python3.**/site-packages/undetected_playwright/driver/playwright.sh
and
chmod +x <The path your terminal tells you for node>
# so smth like: ...python3.**/site-packages/undetected_playwright/driver/node
python3 -m internshala_bot
in your terminal.resume.ini
.Skills
, Certificates
, and Projects
sections accordingly. Then save it.Open any browser and use Incognito Mode (Don't use normal mode, otherwise, you won't be able to copy the internship URL).
Go to https://internshala.com/internships/ or For Jobs GO to https://internshala.com/jobs/
Apply your desired filters such as Profile, Location, Work from Home, Stipend, etc.
Now, if you want to apply to multiple internships/jobs at once, then after applying filters:
Now, if you want to apply to a specific single internship/job, then after applying the filters:
Run the module using the terminal and paste the copied URL from the previous step, such as:
python3 -m internshala_bot copied_internship_url
python3 -m internshala_bot copied_job_url
Example:
python3 -m internshala_bot https://internshala.com/internship/detail/work-from-home-part-time-teaching-assistant-data-science-internship-at-internshala1723621737
For Job
python3 -m internshala_bot https://internshala.com/job/details/fresher-associate-product-manager-job-in-mumbai-at-internshala1726139932
If you want to apply to multiple internships/jobs, enter the URL copied from step 4.
Example:
python3 -m internshala_bot https://internshala.com/internships/work-from-home-data-science-internships/
This will apply to all work-from-home Data Science internships, put jobs url for jobs.
If you want to apply to 2, 3, or 5 individual internships:
python3 -m internshala_bot internship_one_url internship_two_url internship_three_url
python3 -m internshala_bot job_one_url job_two_url job_three_url
In this way, you can add multiple URLs separated by spaces.
Example:
python3 -m internshala_bot https://internshala.com/internship/detail/work-from-home-part-time-teaching-assistant-data-science-internship-at-internshala1723621737 https://internshala.com/internship/detail/acquisition-ninja-internship-in-multiple-locations-at-zomato1721285327 https://internshala.com/internship/detail/work-from-home-part-time-teaching-assistant-data-science-internship-at-internshala1723621737
reports/
folder in the current directory. There are two types of reports:- Application Success Report
- Application Failed Report
--skip
, --skip_assignment_validation
-f
, --filters
reports/
folder.--skip
or --skip_assignment_validation
flag.Example:
python3 -m internshala_bot internship_url --skip
For example, if you applied a "Data Science" filter in the Profiles section, then in Internshala, you might find internships that are not related to "Data Science," such as "Marketing" or "Web Development."
To fix this issue, I have applied a filter that only searches for internships related to your filter queries added in the Profiles section. For example, if you searched for "Data Science," it will only consider those internships that have "Data" or "Science" in their title.
If you want to add internships that mention "Python" in their title along with "Data Science," you can use the --filters
or -f
flag.
python3 -m internshala_bot internship_url --filters python sql
This will include internships that have "Python" and "SQL" in their titles, in addition to "Data Science" internships.
You can mention multiple filters separated by spaces.
https://pypi.org/project/internshala-bot/