Automate and simplify the process of making reports of contests hosted by IIITV CodeChef Campus Chapter
The work of creating CodeChef contest reports after the contest is rather boring and repetitive. One needed to open the contest page and copy-paste the content to make a post of the contest report for Social Media. As this work could be automated using web scraping, I decided to make this script.
This repository can be used for making the contest report of any other contest (except Long Chllenges, Cook-Offs and Lunchtimes and other such contests for now) by changing the template as per requirement.
Running this script requires Google Chrome to run Selenium. Make sure to have Google Chrome installed before going to the next steps.
- Clone the repository
$ git clone https://github.com/thepushkarp/Automate-CCC-Reports.git
- Create a virtual environment (click here to learn about Virtual Environment)
virtualenv env
- Activate virtual environment (On macOS and Linux)
source env/bin/activate
- Activate virtual environment (On Windows)
.\env\Scripts\activate
- Install requirements
pip3 install -r requirements.txt
-
Download the version of Chrome Driver as per your Google Chrome version from http://chromedriver.chromium.org/downloads
-
Add the path of the downloaded Chrome Driver to line no. 31 of scrape.py
-
Run the script using
python3 post_gen.py
and enter the contest link, and the contest type in the prompt that follows. The posts generated would be saved in theposts
folder.
NOTE: All the scripts are written in Python 3. So, make sure to use the appropriate version of pip and python.
- On some contest pages, there may be empty tags in-between strings (like empty <strong> tags between '3' and 'hours' in contest duration) due to which insted of '3 hours', it may save only '3' in the duration variable.
Made with ❤ by Pushkar Patel