In [1]:
#Import Libraries
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import NoSuchElementException,TimeoutException
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup
from selenium.common.exceptions import StaleElementReferenceException
import pandas as pd
import numpy as np
import lxml
import os
import time
import datetime
from dateutil.relativedelta import relativedelta
import json
import calendar
In [2]:
#Start Timmer
start = time.time()

#Set Output Folder
'''# Not Needed
output_folder = datetime.datetime.now().strftime("Date-%Y-%m-%d-Time-%H-%M-%S")
'''
output_folder = 'Scrapped Data'
if not os.path.exists(output_folder):
    os.makedirs(output_folder)
tender_ids_out_csv = os.path.join(output_folder, 'Tender_IDs.csv')
tender_data_out_csv = os.path.join(output_folder, 'Tender_Data.csv')

''' # Not needed now
# Check Leapyear Function
def leapyear(year):
    if year%4==0:
        return True
    else:
        return False
'''
# Get dates array to scrape tenderids
start_date = datetime.datetime(2007, 1, 1, 0, 0, 0, 0)
end_date = datetime.datetime.now()
print("Start Date: ", start_date, "End Date: ", end_date)
dates = []
while start_date < end_date:
    # Get month start date and end date and append to dates (three breaks in a month)
    # 0 - 10 day of month
    date = {}
    date['from_date'] = start_date.strftime("%d/%m/%Y")
    date['to_date'] = "10/" + start_date.strftime("%m/%Y")
    dates.append(date)
    # 10 - 20 day of month
    date = {}
    date['from_date'] = "10/" + start_date.strftime("%m/%Y")
    date['to_date'] = "20/" + start_date.strftime("%m/%Y")
    dates.append(date)
    # 20 - END day of month
    date = {}
    date['from_date'] = "20/" + start_date.strftime("%m/%Y")
    end_day = calendar.monthrange(start_date.year,start_date.month)[1]
    date['to_date'] = str(end_day)+"/"+start_date.strftime("%m/%Y")
    dates.append(date)
    # Add month to start_date for continuing loop
    start_date = start_date + relativedelta(months=1)
#print(dates)
Start Date:  2007-01-01 00:00:00 End Date:  2018-04-15 23:44:15.914604
In [3]:
#Start Chrome
driver = webdriver.Chrome()
driver.implicitly_wait(20) # seconds

#Prepare URL
protocol = "http://"
url = protocol + "pmgsytenders.gov.in/nicgep/app"
params = {
    'key': 'value'
}
#for key, value in params.items():
#    url = url + "&" + key + "=" + str(value)

#Playing with headers
my_referer = url
UserAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
mod_headers = {'referer': my_referer, 'User-Agent':UserAgent}

#Start Chrome
driver.get(url)
In [5]:
# Button and variables
tender_status = "PageLink_2"
tender_status_selector = "tenderStatus"
tender_status_selector_query = ".//option[@value='6']"
back_button = "PageLink_10"
search_button = "Search"
clear_button = "clear"
table_id = "tabList"
from_date_textbox_id = "fromDate"
to_date_textbox_id = "toDate"
tender_id_textbox_id = "tenderId"

def editable_date():
    driver.execute_script('document.getElementById("' + from_date_textbox_id +'").removeAttribute("readonly")')
    driver.execute_script('document.getElementById("' + to_date_textbox_id +'").removeAttribute("readonly")')

def remove_table():
    try:
        driver.execute_script('document.getElementById("' + table_id + '").remove();')
    except:
        pass

def get_page():
    #Start Chrome
    driver.get(url)
    #Start Chrome
    driver.get(url)
    
    # Open Tender status page
    element = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.ID, tender_status))
    )
    element.click()

def select_cat():
    # Select Tender Status options
    element = WebDriverWait( driver, 10 ).until(
        EC.visibility_of_element_located( ( By.ID, tender_status_selector ) ) 
    )
    element.find_element_by_xpath(tender_status_selector_query).click()
    
    #Make dates editable
    WebDriverWait( driver, 10 ).until(
        EC.visibility_of_element_located( ( By.ID, from_date_textbox_id ) ) 
    )
In [ ]:
df = None
# Get Page
get_page()
for date in dates:
    select_cat()
    editable_date()
    # Set dates
    from_date = date['from_date']
    to_date = date['to_date']
    print("--Scraping Data from:", from_date, " to:", to_date)
    driver.find_element_by_id(from_date_textbox_id).clear()
    driver.find_element_by_id(from_date_textbox_id).send_keys(from_date)
    driver.find_element_by_id(to_date_textbox_id).clear()
    driver.find_element_by_id(to_date_textbox_id).send_keys(to_date)
    # Click Search button
    element = WebDriverWait( driver, 10 ).until(
        EC.element_to_be_clickable( ( By.ID, search_button ) ) 
    )
    element.click()
    # Check table to load
    table_present = 0
    try:
        element = WebDriverWait(driver, 10).until(
            EC.visibility_of_element_located((By.ID, table_id))
        )
        html_table = element.get_attribute('outerHTML')
        df1 = pd.read_html(html_table, skiprows=0, header =0)[0]
        table_present = 1
    except:
        pass
    # Check Master Dataframe is empty then copy otherwise concat new Dataframe
    if table_present > 0:
        if df is not None:
            df = pd.concat([df,df1])
        else:
            df = df1.copy()
    #Remove Table
    remove_table()
# Backup dataframe before cleaning
orig_df = df.copy()
In [8]:
# Get Dataframe
df = orig_df.copy() # Testing only
# Clean Dataframe
df = df[df['Tender ID'].notnull()]
df = df.drop(['S.No', 'Status'], axis=1)
df = df.reset_index(drop=True)
# Write Csv
df.to_csv(tender_ids_out_csv, encoding='utf-8', index=False)
# Show Dataframe
df
Out[8]:
Tender ID Title and Ref.No. Organisation Chain Tender Stage
0 2009_NIC_2_1 [Connection ROAD Construction- Rajasthan][two ... NIC AOC
1 2009_NIC_1_1 [test- Rajasthan][test] NIC||TNSU AOC
2 2010_NIC_50_1 [Three cover test][Three cover test] NIC AOC
3 2010_NIC_49_1 [Two cover-Test][Two cover-Test] NIC AOC
4 2009_CERJ_4_223 [RJ-29-BN-UG-27 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
5 2009_CERJ_4_221 [RJ-29-BN-UG-26 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
6 2009_CERJ_4_219 [0RJ-29-BN-UG-25 Distt.Sirohi- Rajasthan][NIT ... Rajasthan||SE-PMGSY-RJ AOC
7 2009_CERJ_4_216 [RJ-29-BN-UG-24 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
8 2009_CERJ_4_213 [RJ-29-BN-UG-23 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
9 2009_CERJ_4_211 [RJ-29-BN-UG-22 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
10 2009_CERJ_4_208 [00RJ-29-BN-UG-21 Distt.Sirohi- Rajasthan][NIT... Rajasthan||SE-PMGSY-RJ AOC
11 2009_CERJ_4_205 [RJ-29-BN-UG-20 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
12 2009_CERJ_4_203 [RJ-29-BN-UG-19 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
13 2009_CERJ_4_200 [0RJ-29-BN-UG-18 Distt.Sirohi- Rajasthan][NIT ... Rajasthan||SE-PMGSY-RJ AOC
14 2009_CERJ_4_198 [RJ-29-BN-UG-17 Distt.Sirohi- Rajasthan][NIT 3... Rajasthan||SE-PMGSY-RJ AOC
15 2010_NIC_208_4 [TENDER CHECK][Tender Check] NIC AOC
16 2010_CEHP_16_1 [Upgradatio of Balance work of Umladawar Dewli... HPPWD AOC
17 2009_CERJ_4_99 [RJ-26-BN-UG-18Distt. Rajsamand- Rajasthan][NI... Rajasthan||SE-PMGSY-RJ AOC
18 2009_CERJ_4_98 [RJ-26-BN-UG-17Distt. Rajsamand- Rajasthan][NI... Rajasthan||SE-PMGSY-RJ AOC
19 2009_CERJ_4_97 [RJ-26-BN-UG-13Distt. Rajsamand- Rajasthan][NI... Rajasthan||SE-PMGSY-RJ AOC
20 2009_CERJ_4_85 [RJ-26-BN-UG-14Distt. Rajsamand- Rajasthan][NI... Rajasthan||SE-PMGSY-RJ AOC
21 2009_CERJ_4_83 [RJ-26-BN-UG-16Distt. Rajsamand- Rajasthan][NI... Rajasthan||SE-PMGSY-RJ AOC
22 2009_CERJ_4_34 [RJ-26-BN-UG-15Distt. Rajsamand- Rajasthan][NI... Rajasthan||SE-PMGSY-RJ AOC
23 2009_CERJ_4_226 [RJ-32-BN-UG-52 Distt.Udaipur- Rajasthan][NIT ... Rajasthan||SE-PMGSY-RJ AOC
24 2009_CERJ_4_217 [RJ-33-BN-UG-08 Distt.Pratapgarh- Rajasthan][N... Rajasthan||SE-PMGSY-RJ AOC
25 2009_CERJ_4_215 [RJ-33-BN-UG-07 Distt.Pratapgarh- Rajasthan][N... Rajasthan||SE-PMGSY-RJ AOC
26 2009_CERJ_4_214 [RJ-33-BN-UG-06 Distt.Pratapgarh- Rajasthan][N... Rajasthan||SE-PMGSY-RJ AOC
27 2009_CERJ_4_212 [RJ-33-BN-UG-05 Distt.Pratapgarh- Rajasthan][N... Rajasthan||SE-PMGSY-RJ AOC
28 2009_CERJ_4_210 [RJ-33-BN-UG-04 Distt.Pratapgarh- Rajasthan][N... Rajasthan||SE-PMGSY-RJ AOC
29 2009_CERJ_4_194 [RJ-32-BN-UG-51 Distt. Udaipur- Rajasthan][NIT... Rajasthan||SE-PMGSY-RJ AOC
... ... ... ... ...
6272 2017_CEMAH_57664_4 [MH-17 ZMR-31 (2nd Call)][T.No.01/EE-NAG/PMGSY... CE-MRRDA||SE-3 NAGPUR||EE-Nagpur AOC
6273 2017_CEMAH_57168_1 [Proposed Construction of Road From NH-222 to ... CE-MRRDA||SE-1 PUNE||EE-Pune AOC
6274 2017_CEMAH_52410_1 [SE/PMGSY/MRRDA/Outsourcing][SE/PMGSY/MRRDA/Na... CE-MRRDA||SE-2 NASHIK AOC
6275 2017_CEHP_58150_10 [Construction of Link road from Sharli to Kuml... HPPWD AOC
6276 2018_CEMAH_58979_4 [FDR Maintenace of Shindkheda Block][e-Tender ... CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC
6277 2018_CEMAH_58979_3 [FDR Maintenace Of Shirpur Block][e-Tender Not... CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC
6278 2018_CEMAH_58979_2 [FDR Maintenance of Dhamangaon Dhule Block][e-... CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC
6279 2018_CEMAH_58979_1 [FDR Maintenance of Dhule Block][e-Tender Noti... CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC
6280 2018_CEHP_59954_1 [Construction of Sapnot to Mehran road Km. 0/0... HPPWD AOC
6281 2018_CEHP_59757_1 [C/o Chattar to Chhanerh rd Km 0/0 to 2/570 Pa... HPPWD AOC
6282 2018_CEHP_59707_1 [Construction of Link road to Village Patyora ... HPPWD AOC
6283 2018_CEHP_59635_1 [Construction of Rohara to Pressi road Km. 10/... HPPWD AOC
6284 2018_CEHP_59596_1 [M/T on Badhan to Katachi road Km. 0/00 to 3/2... HPPWD AOC
6285 2018_CEHP_59230_1 [Construction of Main road to Salgran km /0 to... HPPWD AOC
6286 2018_CEHP_59229_1 [Construction of Main road to Jobrang adn ) Ra... HPPWD AOC
6287 2018_CEHP_59162_1 [HP-01-134][HP-01-134 Kasol to Ghyana] HPPWD AOC
6288 2018_CEHP_58935_1 [Construction of Kadhar to Badan road Km.0/0 t... HPPWD AOC
6289 2017_RDTN_56472_1 [THE NILGIRIS DISTRICT - UPGRADATION AND 5 YEA... SE- (RD),TN||The Nilgiris,RD,TN AOC
6290 2017_CEMAH_58049_7 [Maint.of Raods 1)SH-17 - Dongraj (T13) at Km ... CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC
6291 2017_CEMAH_58049_6 [Maint of Roads 1)Botkul Gural Sawangira at Km... CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC
6292 2017_CEMAH_58049_5 [Zonal Routine Maint. of Roads Faradpur Garsol... CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC
6293 2017_CEMAH_58049_4 [Zonal Routine Maint. of Roads 1) SH-156 To La... CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC
6294 2017_CEMAH_58049_1 [Zonal Routine Maint. of Roads 1)Mogarga Shiva... CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC
6295 2018_CEHP_59954_1 [Construction of Sapnot to Mehran road Km. 0/0... HPPWD AOC
6296 2018_CEHP_59635_1 [Construction of Rohara to Pressi road Km. 10/... HPPWD AOC
6297 2018_CEHP_59596_1 [M/T on Badhan to Katachi road Km. 0/00 to 3/2... HPPWD AOC
6298 2017_CERWI_56948_3 [OR-19-301/Batch-II ][SERWSCSBD Online-08/2017... CE RW I||RWCIRCLE-SUNABEDA AOC
6299 2017_CERWI_56739_4 [OR-22-ADB-108/RC-2/Batch-I][SERWSCSBD Online-... CE RW I||RWCIRCLE-SUNABEDA AOC
6300 2017_CERWI_53591_4 [PACKAGE NO OR-22-ADB-111/RC-2/Batch-I][SERWSC... CE RW I||RWCIRCLE-SUNABEDA AOC
6301 2017_CERWI_53591_25 [PACKAGE NO OR-22-ADB-109/RC-2/Batch-I][SERWSC... CE RW I||RWCIRCLE-SUNABEDA AOC

6302 rows × 4 columns

In [16]:
# Scrape Tender Data
## Get Tender ID Data
tender_id_df = pd.read_csv(tender_ids_out_csv)
tender_ids = list(tender_id_df['Tender ID'].values)
## Initialize Master Dataframe
df = None
i = 3782
tender_ids_count = len(tender_ids)
print("--Scraping Tender Data | Progress Scrapped: ", i, " Out of Total", tender_ids_count)
## Loop over Tender IDs
while i < tender_ids_count:
    tender_id = tender_ids[i]
    #print(tender_id)
    # Get Page
    get_page()
    ### Input Tender ID
    driver.find_element_by_id(tender_id_textbox_id).clear()
    driver.find_element_by_id(tender_id_textbox_id).send_keys(tender_id)
    # Click Search button
    element = WebDriverWait( driver, 10 ).until(
        EC.element_to_be_clickable( ( By.ID, search_button ) ) 
    )
    element.click()
    ### Check table to load
    table_present = 0
    try:
        WebDriverWait(driver, 10).until(
            EC.visibility_of_element_located((By.ID, table_id))
        )
        table_present = 1
    except:
        pass
    ### Open Tender Details Page
    tender_detail = 0
    if table_present > 0:
        try:
            ### Check if status page loads
            element = WebDriverWait(driver, 10).until(
                EC.element_to_be_clickable((By.ID, 'view'))
            )
            element.click()
            element = WebDriverWait(driver, 10).until(
                EC.element_to_be_clickable((By.ID, 'DirectLink_0'))
            )
            #### Get Data URL
            data_url = "http://pmgsytenders.gov.in/nicgep/app?component=%24DirectLink_0&page=WebTenderStatus&service=direct&session=T"
            driver.get(data_url)
            #### Now Wait for page to load
            WebDriverWait(driver, 10).until(
                EC.visibility_of_element_located((By.ID, 'bidAocTableView'))
            )
            tender_detail = 1
        except:
            pass
    ### Check if Tender Detail available then copy data to master Dataframe
    if tender_detail > 0:
        html_table = driver.find_element_by_id('bidAocTableView').get_attribute('outerHTML')
        df1 = pd.read_html(html_table, skiprows=1, header =0)[0]
        df1 = df1.head(1)
        df1['Tender ID'] = tender_id
        if df is not None:
            df = pd.concat([df,df1])
        else:
            df = df1.copy()
    ### Increase i and make some noise
    i+=1
    if i%10==0:
        print("--Scraping Tender Data | Progress Scrapped: ", i, " Out of Total", tender_ids_count)
print("--Scraping Tender Data Scrapping Finished | Progress Scrapped: ", i, " Out of Total", tender_ids_count)
--Scraping Tender Data | Progress Scrapped:  3782  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3790  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3800  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3810  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3820  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3830  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3840  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3850  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3860  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3870  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3880  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3890  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3900  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3910  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3920  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3930  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3940  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3950  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3960  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3970  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3980  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  3990  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4000  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4010  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4020  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4030  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4040  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4050  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4060  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4070  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4080  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4090  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4100  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4110  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4120  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4130  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4140  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4150  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4160  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4170  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4180  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4190  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4200  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4210  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4220  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4230  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4240  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4250  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4260  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4270  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4280  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4290  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4300  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4310  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4320  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4330  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4340  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4350  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4360  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4370  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4380  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4390  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4400  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4410  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4420  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4430  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4440  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4450  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4460  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4470  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4480  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4490  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4500  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4510  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4520  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4530  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4540  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4550  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4560  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4570  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4580  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4590  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4600  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4610  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4620  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4630  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4640  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4650  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4660  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4670  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4680  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4690  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4700  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4710  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4720  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4730  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4740  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4750  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4760  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4770  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4780  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4790  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4800  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4810  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4820  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4830  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4840  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4850  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4860  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4870  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4880  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4890  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4900  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4910  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4920  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4930  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4940  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4950  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4960  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4970  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4980  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  4990  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5000  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5010  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5020  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5030  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5040  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5050  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5060  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5070  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5080  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5090  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5100  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5110  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5120  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5130  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5140  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5150  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5160  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5170  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5180  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5190  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5200  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5210  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5220  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5230  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5240  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5250  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5260  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5270  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5280  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5290  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5300  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5310  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5320  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5330  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5340  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5350  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5360  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5370  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5380  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5390  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5400  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5410  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5420  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5430  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5440  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5450  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5460  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5470  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5480  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5490  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5500  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5510  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5520  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5530  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5540  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5550  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5560  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5570  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5580  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5590  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5600  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5610  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5620  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5630  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5640  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5650  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5660  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5670  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5680  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5690  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5700  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5710  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5720  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5730  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5740  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5750  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5760  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5770  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5780  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5790  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5800  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5810  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5820  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5830  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5840  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5850  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5860  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5870  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5880  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5890  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5900  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5910  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5920  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5930  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5940  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5950  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5960  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5970  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5980  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  5990  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6000  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6010  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6020  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6030  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6040  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6050  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6060  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6070  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6080  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6090  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6100  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6110  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6120  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6130  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6140  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6150  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6160  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6170  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6180  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6190  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6200  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6210  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6220  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6230  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6240  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6250  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6260  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6270  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6280  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6290  Out of Total 6302
--Scraping Tender Data | Progress Scrapped:  6300  Out of Total 6302
--Scraping Tender Data Scrapping Finished | Progress Scrapped:  6302  Out of Total 6302
In [38]:
#temp 
#df.to_csv('temp.csv', encoding='utf-8', index=False)
# INcase
df = pd.read_csv('temp1.csv')
In [ ]:
df
In [39]:
# Clean Data
df = pd.merge(tender_id_df, df, on='Tender ID', how='left')
df['Title'] = df['Title and Ref.No.'].str.split("]").str[0].str.replace("[","").str.strip()
df['Ref.No.'] = df['Title and Ref.No.'].str.split("]").str[1].str.replace("[","").str.strip()
df = df.drop(['S.No', 'Title and Ref.No.'], axis=1)
df = df.drop_duplicates() 
# Write Csv
df.to_csv(tender_data_out_csv, encoding='utf-8', index=False)
print("--Scrapped Data Cleaned and Saved at", tender_data_out_csv)
--Scrapped Data Cleaned and Saved at Scrapped Data\Tender_Data.csv
In [40]:
df
Out[40]:
Tender ID Organisation Chain Tender Stage Bid Number Bidder Name Awarded Currency Awarded Value Title Ref.No.
0 2009_NIC_2_1 NIC AOC 3.0 bid 1 INR 1.000000e+09 Connection ROAD Construction- Rajasthan two cover test
1 2009_NIC_1_1 NIC||TNSU AOC 2.0 test-Test Corp INR 1.234568e+09 test- Rajasthan test
2 2010_NIC_50_1 NIC AOC 1780.0 veera mukilan INR 1.234568e+08 Three cover test Three cover test
3 2010_NIC_49_1 NIC AOC 1775.0 test bidder INR 1.234568e+08 Two cover-Test Two cover-Test
4 2009_CERJ_4_223 Rajasthan||SE-PMGSY-RJ AOC 1137.0 HARENDRA SINGH CHOUDHARY-H.G.INFRA ENGINEERING... INR 2.140374e+07 RJ-29-BN-UG-27 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
5 2009_CERJ_4_221 Rajasthan||SE-PMGSY-RJ AOC 886.0 naresh agarwal INR 1.944714e+07 RJ-29-BN-UG-26 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
6 2009_CERJ_4_219 Rajasthan||SE-PMGSY-RJ AOC 822.0 naresh agarwal INR 3.094833e+07 0RJ-29-BN-UG-25 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
7 2009_CERJ_4_216 Rajasthan||SE-PMGSY-RJ AOC 815.0 naresh agarwal INR 1.636609e+07 RJ-29-BN-UG-24 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
8 2009_CERJ_4_213 Rajasthan||SE-PMGSY-RJ AOC 805.0 naresh agarwal INR 1.645554e+07 RJ-29-BN-UG-23 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
9 2009_CERJ_4_211 Rajasthan||SE-PMGSY-RJ AOC 801.0 naresh agarwal INR 1.644855e+07 RJ-29-BN-UG-22 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
10 2009_CERJ_4_208 Rajasthan||SE-PMGSY-RJ AOC 792.0 naresh agarwal INR 1.217592e+07 00RJ-29-BN-UG-21 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
11 2009_CERJ_4_205 Rajasthan||SE-PMGSY-RJ AOC 853.0 naresh agarwal INR 1.507891e+07 RJ-29-BN-UG-20 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
12 2009_CERJ_4_203 Rajasthan||SE-PMGSY-RJ AOC 784.0 naresh agarwal INR 2.067467e+07 RJ-29-BN-UG-19 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
13 2009_CERJ_4_200 Rajasthan||SE-PMGSY-RJ AOC 768.0 naresh agarwal INR 1.226649e+07 0RJ-29-BN-UG-18 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
14 2009_CERJ_4_198 Rajasthan||SE-PMGSY-RJ AOC 587.0 naresh agarwal INR 8.795103e+06 RJ-29-BN-UG-17 Distt.Sirohi- Rajasthan NIT 32 PMGSY/2009
15 2010_NIC_208_4 NIC AOC 2033.0 bid 1 INR 6.000000e+04 TENDER CHECK Tender Check
16 2010_CEHP_16_1 HPPWD AOC 1605.0 SHAM MAHAJAN INR 3.692560e+07 Upgradatio of Balance work of Umladawar Dewli ... HP-PW-CTR-Tender (PMGSY)2008-09 13325-424 15.0...
18 2009_CERJ_4_99 Rajasthan||SE-PMGSY-RJ AOC 904.0 Babu Lal Teli INR 1.903638e+07 RJ-26-BN-UG-18Distt. Rajsamand- Rajasthan NIT 32 PMGSY/2009
19 2009_CERJ_4_98 Rajasthan||SE-PMGSY-RJ AOC 737.0 MANGILAL CHOUDHARY-M/S CHOUDHARY CONSTRUCTION ... INR 3.899331e+07 RJ-26-BN-UG-17Distt. Rajsamand- Rajasthan NIT 32 PMGSY/2009
20 2009_CERJ_4_97 Rajasthan||SE-PMGSY-RJ AOC 1445.0 Vipin Kumawat-Ramchandra Kumawat and Company INR 2.646099e+07 RJ-26-BN-UG-13Distt. Rajsamand- Rajasthan NIT 32 PMGSY/2009
21 2009_CERJ_4_85 Rajasthan||SE-PMGSY-RJ AOC 1358.0 Dinesh Choudhary INR 2.614214e+07 RJ-26-BN-UG-14Distt. Rajsamand- Rajasthan NIT 32 PMGSY/2009
22 2009_CERJ_4_83 Rajasthan||SE-PMGSY-RJ AOC 1235.0 sayeed iqbal INR 3.035355e+07 RJ-26-BN-UG-16Distt. Rajsamand- Rajasthan NIT 32 PMGSY/2009
23 2009_CERJ_4_34 Rajasthan||SE-PMGSY-RJ AOC 914.0 MANGILAL CHOUDHARY-M/S CHOUDHARY CONSTRUCTION ... INR 4.233991e+07 RJ-26-BN-UG-15Distt. Rajsamand- Rajasthan NIT 32 PMGSY/2009
24 2009_CERJ_4_226 Rajasthan||SE-PMGSY-RJ AOC 1278.0 sayeed iqbal INR 3.331882e+07 RJ-32-BN-UG-52 Distt.Udaipur- Rajasthan NIT 32 PMGSY/2009
25 2009_CERJ_4_217 Rajasthan||SE-PMGSY-RJ AOC 1281.0 Bhanwarlal Kumawat-Rajtech Infrastructure Pvt.... INR 2.105194e+07 RJ-33-BN-UG-08 Distt.Pratapgarh- Rajasthan NIT 32 PMGSY/2009
26 2009_CERJ_4_215 Rajasthan||SE-PMGSY-RJ AOC 1233.0 Bhanwarlal Kumawat-Rajtech Infrastructure Pvt.... INR 4.019606e+07 RJ-33-BN-UG-07 Distt.Pratapgarh- Rajasthan NIT 32 PMGSY/2009
27 2009_CERJ_4_214 Rajasthan||SE-PMGSY-RJ AOC 1224.0 Bhanwarlal Kumawat-Rajtech Infrastructure Pvt.... INR 2.943972e+07 RJ-33-BN-UG-06 Distt.Pratapgarh- Rajasthan NIT 32 PMGSY/2009
28 2009_CERJ_4_212 Rajasthan||SE-PMGSY-RJ AOC 1204.0 Bhanwarlal Kumawat-Rajtech Infrastructure Pvt.... INR 3.243027e+07 RJ-33-BN-UG-05 Distt.Pratapgarh- Rajasthan NIT 32 PMGSY/2009
29 2009_CERJ_4_210 Rajasthan||SE-PMGSY-RJ AOC 20.0 Bhanwarlal Kumawat-Rajtech Infrastructure Pvt.... INR 2.457245e+07 RJ-33-BN-UG-04 Distt.Pratapgarh- Rajasthan NIT 32 PMGSY/2009
30 2009_CERJ_4_194 Rajasthan||SE-PMGSY-RJ AOC 832.0 Laxmi Lal Patel INR 3.440895e+07 RJ-32-BN-UG-51 Distt. Udaipur- Rajasthan NIT 32 PMGSY/2009
... ... ... ... ... ... ... ... ... ...
7109 2018_CCUK_59004_5 Chief Coordinator, PMGSY, Uttarkhand AOC 256282.0 PARWATIYA CONSTRUCTION INR 9.391700e+02 UT-04-10 Dhaun-Dhyuri Rd. to Bajaun M/R, Stage -I URRDA_5425_12012018
7110 2018_CCUK_59004_4 Chief Coordinator, PMGSY, Uttarkhand AOC 256263.0 SKT BUILDCON PVT LTD INR 2.058300e+02 UT-04-12 Chalthi (Tanakput - Tawaghat Rd. Km. ... URRDA_5425_12012018
7111 2018_CCUK_59004_3 Chief Coordinator, PMGSY, Uttarkhand AOC 256471.0 laxmi datt binwal INR 2.071000e+02 UT-04-15 Ladhauli Dubchaura to Chaurakhyali M/... URRDA_5425_12012018
7112 2018_CCUK_59004_2 Chief Coordinator, PMGSY, Uttarkhand AOC 256395.0 PARIHAR CONSTRUCTION INR 3.478200e+02 UT0207RawatseratoManakbharaMR URRDA_5425_12012018
7113 2018_CCUK_59004_1 Chief Coordinator, PMGSY, Uttarkhand AOC 256223.0 Millenium Builders INR 2.622900e+02 UT0205 kathpuriachheena Forest Rd to Siya MR S... URRDA_5425_12012018
7116 2017_CEMAH_57168_1 CE-MRRDA||SE-1 PUNE||EE-Pune AOC 244776.0 D.S.SHEWALE INR 2.463487e+07 Proposed Construction of Road From NH-222 to S... 09/2017-2018
7117 2017_CEMAH_52410_1 CE-MRRDA||SE-2 NASHIK AOC 214244.0 Novel Financial Solutions Private Limited INR 1.226832e+07 SE/PMGSY/MRRDA/Outsourcing SE/PMGSY/MRRDA/Nashik/2016-17- 4th call
7120 2018_CEMAH_58979_4 CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC 256070.0 amrut dagadu patil INR 1.963078e+06 FDR Maintenace of Shindkheda Block e-Tender Notice No.53/2017-18
7121 2018_CEMAH_58979_3 CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC 256151.0 SundarMadhav Construction INR 2.239761e+06 FDR Maintenace Of Shirpur Block e-Tender Notice No.53/2017-18
7122 2018_CEMAH_58979_2 CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC 255913.0 Subhash S Jagtap INR 2.322974e+06 FDR Maintenance of Dhamangaon Dhule Block e-Tender Notice No.53/2017-18
7123 2018_CEMAH_58979_1 CE-MRRDA||SE-2 NASHIK||EE-Dhule AOC 256147.0 Sachin P. Saner INR 1.605227e+06 FDR Maintenance of Dhule Block e-Tender Notice No.53/2017-18
7124 2018_CEHP_59954_1 HPPWD AOC 266956.0 Bhupinder Paul Mahajan INR 1.703223e+07 Construction of Sapnot to Mehran road Km. 0/00... PW-SE-I-Tender-PMGSY- KSG18-26383-26432Dt. 26-...
7126 2018_CEHP_59757_1 HPPWD AOC 260648.0 Krishan kumar INR 1.461986e+07 C/o Chattar to Chhanerh rd Km 0/0 to 2/570 Pac... Chattar to Chahnerh rd Km 0/0 to 2/570 HP-08-341
7127 2018_CEHP_59707_1 HPPWD AOC 265759.0 vijay kumar INR 1.959339e+07 Construction of Link road to Village Patyora K... PW-SEI-Tender-PMGSY-KSG-/18- 25086-25135Dt.13-...
7128 2018_CEHP_59635_1 HPPWD AOC 265674.0 vijay kumar INR 3.269530e+07 Construction of Rohara to Pressi road Km. 10/0... PW-SEI-Tender-PMGSY-KSG-/18- 25086-25135Dt.13-...
7130 2018_CEHP_59596_1 HPPWD AOC 265654.0 Bhupinder Paul Mahajan INR 1.650976e+07 M/T on Badhan to Katachi road Km. 0/00 to 3/20... PW-SEI-Tender-PMGSY-KSG/18- 25086-25135Dt.13-0...
7132 2018_CEHP_59230_1 HPPWD AOC 259289.0 DURGA PRASHAD SHARMA INR 2.466926e+07 Construction of Main road to Salgran km /0 to ... C/O Main road to Salgran kms 0/0 to 4/510
7133 2018_CEHP_59229_1 HPPWD AOC 259291.0 DURGA PRASHAD SHARMA INR 2.274478e+07 Construction of Main road to Jobrang adn ) Rap... C/O Main road to Jobrang and Rape km. 0/0 to 4/0
7134 2018_CEHP_59162_1 HPPWD AOC 258063.0 Ajmer Singh INR 8.619812e+06 HP-01-134 HP-01-134 Kasol to Ghyana
7135 2018_CEHP_58935_1 HPPWD AOC 255043.0 Inder Singh INR 2.395732e+07 Construction of Kadhar to Badan road Km.0/0 to... HP-08-306
7136 2017_RDTN_56472_1 SE- (RD),TN||The Nilgiris,RD,TN AOC 243745.0 Nilgiris Silverline Builders INR 1.465776e+08 THE NILGIRIS DISTRICT - UPGRADATION AND 5 YEAR... PD DRDA NILGIRIS DIPR/4036/Tender/2017 dt 27.1...
7137 2017_CEMAH_58049_7 CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC 252143.0 Subak Construction,Latur INR 2.015878e+06 Maint.of Raods 1)SH-17 - Dongraj (T13) at Km 0... EE/PMGSY/ZRM/2017-18
7138 2017_CEMAH_58049_6 CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC 252141.0 Subak Construction,Latur INR 1.445046e+06 Maint of Roads 1)Botkul Gural Sawangira at Km ... EE/PMGSY/ZRM/2017-18
7139 2017_CEMAH_58049_5 CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC 250192.0 M/S TIRUPATI CONSTRUCTION INR 1.679333e+06 Zonal Routine Maint. of Roads Faradpur Garsoli... EE/PMGSY/ZRM/2017-18
7140 2017_CEMAH_58049_4 CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC 250050.0 M/S M.S.DESHMUKH CONSTRUCTION INR 1.476350e+06 Zonal Routine Maint. of Roads 1) SH-156 To Lan... EE/PMGSY/ZRM/2017-18
7141 2017_CEMAH_58049_1 CE-MRRDA||SE-5 AURANGABAD||EE-Latur AOC 250061.0 M/s V. K. Construction Prop.Meghraj Doulatrao ... INR 1.041262e+06 Zonal Routine Maint. of Roads 1)Mogarga Shivan... EE/PMGSY/ZRM/2017-18
7148 2017_CERWI_56948_3 CE RW I||RWCIRCLE-SUNABEDA AOC 242320.0 GYAN RANJAN SWAIN INR 3.274213e+07 OR-19-301/Batch-II SERWSCSBD Online-08/2017-18
7149 2017_CERWI_56739_4 CE RW I||RWCIRCLE-SUNABEDA AOC 243241.0 Narayan Patro INR 1.031182e+07 OR-22-ADB-108/RC-2/Batch-I SERWSCSBD Online-09/2017-18
7150 2017_CERWI_53591_4 CE RW I||RWCIRCLE-SUNABEDA AOC 228694.0 Laxmi Narayan Jain INR 2.274024e+07 PACKAGE NO OR-22-ADB-111/RC-2/Batch-I SERWSCSBD Online-04/2017-18
7151 2017_CERWI_53591_25 CE RW I||RWCIRCLE-SUNABEDA AOC 228686.0 Laxmi Narayan Jain INR 2.121963e+07 PACKAGE NO OR-22-ADB-109/RC-2/Batch-I SERWSCSBD Online-04/2017-18

5878 rows × 9 columns

In [ ]: