Python Script for GeM Bid Scraping
Budget: ₹5,000 – ₹10,000 INR
PROJECT TITLE:
**Automated GeM Bid Scraper with PDF Parsing and Optional OCR**
---
### OBJECTIVE
Build a one-time Python script that:
1. Scrapes all active bids from a given GeM bid listing URL
2. For each bid:
* Opens the bid detail page
* Downloads the main bid PDF and all related documents
* Extracts structured data from the main PDF
* Saves all data to an Excel file and all PDFs to a folder
---
### REQUIRED OUTPUTS
#### Excel File (1 row per bid, columns below):
```
Bid No
Start Date
End Date
Ministry
Department
Organisation
Office Name
Buyer Email
Total Quantity
Item Category
Minimum Annual Turnover (3Y)
OEM Turnover (3Y)
Past Experience Required
Documents Required from Seller
Past Performance (%)
Bid to RA Enabled
RCM Applicable
Type of Bid
Technical Clarification Time
Evaluation Method
Arbitration Clause
Mediation Clause
EMD Required
ePBG Required
ePBG Percentage (%)
ePBG Duration (Months)
Advisory Bank
Beneficiary (Name + Dept + City)
Specification Text
Additional Spec Drawing (Yes/No)
Main PDF Filename
Scope of Work Filename
Payment Terms Filename
Specification Filename
BOQ Filename
Drawing Filename
```
---
### PDF FILE STRUCTURE
Save all files in a `/pdfs/` folder, named by Bid No:
```
pdfs/
6278716_main.pdf
6278716_scope_of_work.pdf
6278716_payment_terms.pdf
6278716_specification.pdf
6278716_boq.pdf
6278716_drawing.pdf
```
---
### TECH REQUIREMENTS
* Language: Python
* Browser: Chrome (Selenium)
* PDF: `pdfplumber`, `pytesseract` (if OCR included)
* Excel: `pandas + openpyxl`
* Platform: Windows
---
### SCRIPT BEHAVIOR
* Must handle pagination
* Must detect and download optional attachments (BOQ, Payment Terms, etc.)
* Must parse text-based PDFs
* If OCR version: fallback to pytesseract for scanned PDFs
* File names must use Bid Number prefix
* Output should be usable every time the script is run
---
### DELIVERABLES
* `main.py` or `.exe`
* `requirements.txt`
* Sample Excel file
* Folder of downloaded PDFs
* Readme with run instructions
---
### I WILL PROVIDE
* GeM listing URL
* Sample bid PDFs
---
**Automated GeM Bid Scraper with PDF Parsing and Optional OCR**
---
### OBJECTIVE
Build a one-time Python script that:
1. Scrapes all active bids from a given GeM bid listing URL
2. For each bid:
* Opens the bid detail page
* Downloads the main bid PDF and all related documents
* Extracts structured data from the main PDF
* Saves all data to an Excel file and all PDFs to a folder
---
### REQUIRED OUTPUTS
#### Excel File (1 row per bid, columns below):
```
Bid No
Start Date
End Date
Ministry
Department
Organisation
Office Name
Buyer Email
Total Quantity
Item Category
Minimum Annual Turnover (3Y)
OEM Turnover (3Y)
Past Experience Required
Documents Required from Seller
Past Performance (%)
Bid to RA Enabled
RCM Applicable
Type of Bid
Technical Clarification Time
Evaluation Method
Arbitration Clause
Mediation Clause
EMD Required
ePBG Required
ePBG Percentage (%)
ePBG Duration (Months)
Advisory Bank
Beneficiary (Name + Dept + City)
Specification Text
Additional Spec Drawing (Yes/No)
Main PDF Filename
Scope of Work Filename
Payment Terms Filename
Specification Filename
BOQ Filename
Drawing Filename
```
---
### PDF FILE STRUCTURE
Save all files in a `/pdfs/` folder, named by Bid No:
```
pdfs/
6278716_main.pdf
6278716_scope_of_work.pdf
6278716_payment_terms.pdf
6278716_specification.pdf
6278716_boq.pdf
6278716_drawing.pdf
```
---
### TECH REQUIREMENTS
* Language: Python
* Browser: Chrome (Selenium)
* PDF: `pdfplumber`, `pytesseract` (if OCR included)
* Excel: `pandas + openpyxl`
* Platform: Windows
---
### SCRIPT BEHAVIOR
* Must handle pagination
* Must detect and download optional attachments (BOQ, Payment Terms, etc.)
* Must parse text-based PDFs
* If OCR version: fallback to pytesseract for scanned PDFs
* File names must use Bid Number prefix
* Output should be usable every time the script is run
---
### DELIVERABLES
* `main.py` or `.exe`
* `requirements.txt`
* Sample Excel file
* Folder of downloaded PDFs
* Readme with run instructions
---
### I WILL PROVIDE
* GeM listing URL
* Sample bid PDFs
---