I tried to get data from that site. Actually it gives data based on pixel 
position of habitats and roads for a specific block of a district. That 
pixel position changes when window size is changed. For this reason if we 
resize the window that page reloads. One way I tried is looping thorugh all 
pixels in the present window. But as my resource is limited I can't run it 
for whole page.  

The format of URL is 
- 
http://www.pmgsy-grris.nic.in/MapController.ashx?&Command=FeatureSelection&Points=1,1000_500&MapAlias=Map1

Here it is checking for (1000,500) pixel when the window size is 1366x608. 

I have written a code to check for data in (1,1) , (2,2) , .... (600,600) 
for a specific block. I got some data also saved in two csv files roads and 
habitat. 

Anybody interested can extend and modify this code. 

On Tuesday, May 5, 2020 at 10:00:07 AM UTC+5:30, Deepak Sharda wrote:
>
> dear group members
>
> We are privileged to have gems among us who know how to extract data from 
> this website 
>
> Kindly help me with data 
>
> http://www.pmgsy-grris.nic.in/gis.aspx
>
> whole of India with habitation code.
>
> I am willing to pay for shape files format.
>
> thank you 
>
> Regards 
>
>
>
>

-- 
Datameet is a community of Data Science enthusiasts in India. Know more about 
us by visiting http://datameet.org
--- 
You received this message because you are subscribed to the Google Groups 
"datameet" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/datameet/119e48f8-e115-4f64-b747-2340c4fe2359o%40googlegroups.com.
,HabitationName,District,Block,TotalPopulation,SCSTPopulation,CensusYear,Connected,ConnectedBeforePMGSY,ConnectedAfterPMGSY,PMGSYScheme,PrimarySchool,MiddleSchool,HighSchool,IntermediateSchool,ITI,DegreeCollege,HealthService,Dispaensary,MCWCenters,PHCS,VetraryHospital,TelegraphOffice,TeleConnection,BusService,RailwayStation,Electricity,BlockHQ,SubTahsil,TouristPlace,PetrolPump,Mandi,Warehouse,RetailShop,Desert,Tribal,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Pashapara,South 24-Parganas,Sonarpur,611,491,2001,Y,Y,Y,PMGSY I,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Chalkjagaddal,South 24-Parganas,Sonarpur,1140,953,2001,Y,Y,Y,PMGSY I,Y,N,N,N,N,N,Y,N,Y,N,N,N,Y,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Nayapattan,South 24-Parganas,Sonarpur,665,431,2001,Y,Y,Y,PMGSY I,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Srirampur,South 24-Parganas,Baruipur,951,0,2001,N,N,Y,PMGSY I,N,N,N,N,N,N,N,N,Y,N,N,N,N,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Bhurkul,South 24-Parganas,Baruipur,482,480,2001,N,N,Y,PMGSY I,Y,N,N,N,N,N,N,N,Y,N,N,N,Y,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Madhabpur,South 24-Parganas,Baruipur,1207,1083,2001,N,N,Y,PMGSY I,Y,N,N,N,N,N,N,N,Y,N,N,N,Y,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Fuldubi,South 24-Parganas,Baruipur,607,364,2001,Y,Y,Y,PMGSY I,Y,N,N,N,N,N,Y,N,Y,N,N,N,N,N,N,Y,N,N,N,N,N,N,N,N,N
0,Sasari,South 24-Parganas,Baruipur,1209,760,2001,N,N,Y,PMGSY I,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,PMGSY I,T01,South 24-Parganas,Sonarpur,Sonarpur to Uttar ray pur road,0.500,10.000,9.500,Through Route,Dakshin Kalikapur(C)(Pop:1784); Hasanpur(C)(Pop:1249); Jardaha(C)(Pop:1235); Mathurapur(C)(Pop:1392); Mathurapur West(C)(Pop:1665); Murapukur(C)(Pop:1520); Ramchandrapur(C)(Pop:702)
0,PMGSY I,T01,South 24-Parganas,Sonarpur,Sonarpur to Uttar ray pur road,0.500,10.000,9.500,Through Route,Dakshin Kalikapur(C)(Pop:1784); Hasanpur(C)(Pop:1249); Jardaha(C)(Pop:1235); Mathurapur(C)(Pop:1392); Mathurapur West(C)(Pop:1665); Murapukur(C)(Pop:1520); Ramchandrapur(C)(Pop:702)
0,PMGSY I,T02,South 24-Parganas,Sonarpur,Rampur to Manikpur via Chakharinavi,0.000,6.000,6.000,Through Route,Bhabanipur(C)(Pop:3182); Bidyadharpur(C)(Pop:708); Malipukur(C)(Pop:1167); Mollapara(C)(Pop:2182); Nayapattan(C)(Pop:665); Rampur and Mukundapur(C)(Pop:869)
0,PMGSY I,T02,South 24-Parganas,Sonarpur,Rampur to Manikpur via Chakharinavi,0.000,6.000,6.000,Through Route,Bhabanipur(C)(Pop:3182); Bidyadharpur(C)(Pop:708); Malipukur(C)(Pop:1167); Mollapara(C)(Pop:2182); Nayapattan(C)(Pop:665); Rampur and Mukundapur(C)(Pop:869)
0,PMGSY I,L065,South 24-Parganas,Baruipur,South Garia Champahati Road,0.000,5.750,5.750,Link Route,
0,PMGSY I,L061,South 24-Parganas,Baruipur,Part of L061 start from Mallickpur to Ganashpur via Panchghara via Serampore via Akna Mirzapur,0.000,3.000,3.000,Link Route,Faridpur(C)(Pop:2906); Mollickpur(C)(Pop:3000); Panchghara(C)(Pop:2990); Panchghara Sarder Para(C)(Pop:2162); Pirtala(C)(Pop:3000); Purba Mallickpur(C)(Pop:2916); Srirampur(U)(Pop:951)
0,PMGSY I,L062,South 24-Parganas,Baruipur,Mallickpur PWD Road,0.750,3.750,3.000,Link Route,
0,PMGSY I,L062,South 24-Parganas,Baruipur,Part of L062 to Bhurkul via Maduanbanpur,0.000,1.250,1.250,Link Route,
0,PMGSY I,L070,South 24-Parganas,Baruipur,Atghora on L068 to Tagarberia,0.000,3.000,3.000,Link Route,Atghara(C)(Pop:978); Tagarbaria(U)(Pop:1064)
0,PMGSY I,T03,South 24-Parganas,Baruipur,Baruipur Chakberia road,1.000,10.000,9.000,Through Route,Akna Mirzapur(U)(Pop:1503); Bhanta(U)(Pop:1457); Bhurkul(U)(Pop:482); Dandapur(U)(Pop:651); Dhalipara(C)(Pop:2342); Ganeshpur(U)(Pop:2225); Garia Bagdipara(U)(Pop:1500); Gordaha(U)(Pop:1193); Himchi(U)(Pop:3000); Kamra(U)(Pop:949); Kazirabad(U)(Pop:2420); Kbutiberia(U)(Pop:1884); Keyatala(U)(Pop:2246); Kholapota(U)(Pop:895); Madhuanbanpur(U)(Pop:1007); Mamudpur(C)(Pop:1080); Nabagram(U)(Pop:3000); Ramchandrapur(U)(Pop:1070); Salepara(U)(Pop:1700); Tegachi Mamudpur(U)(Pop:2170); Teurhat(U)(Pop:1889)
0,PMGSY I,L074,South 24-Parganas,Baruipur,Dedangi to Paschim Madhabpur,0.000,7.000,7.000,Link Route,
0,PMGSY I,L025,South 24-Parganas,Baruipur,Jamtala on T03 to Kazir Abad,0.000,5.000,5.000,Link Route,Baidyapara(C)(Pop:3000); Uttarbag(U)(Pop:3000)
0,PMGSY I,L026,South 24-Parganas,Baruipur,Chitra Shali on L025 to Phuldubi,0.000,1.250,1.250,Link Route,Bajeorancha(C)(Pop:661); Fuldubi(C)(Pop:607)
0,PMGSY I,L028,South 24-Parganas,Baruipur,Chhantuipara on T01 to Tangerberia,0.000,2.000,2.000,Link Route,Arjuna(C)(Pop:1532); Joykrishna Nagar(C)(Pop:1200); Tangerberia(C)(Pop:1267)
0,PMGSY I,T01,South 24-Parganas,Baruipur,Part of T01 Baruipur Ramnagore Uttarbag Road Start from T02,0.000,8.500,8.500,Through Route,
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
from time import sleep, strftime
from random import randint
import pandas as pd
import csv




chromedriver_path = 'C:/Users/Souvik/Desktop/road/chromedriver_win321/chromedriver.exe' # Change this to your own chromedriver path!
webdriver = webdriver.Chrome(executable_path=chromedriver_path)

webdriver.maximize_window()
sleep(2)
webdriver.get('http://www.pmgsy-grris.nic.in/home.aspx')
sleep(3)

#Select State Name
s1=Select(webdriver.find_element_by_css_selector('#ddlState'))

for opt in s1.options:
    s1.select_by_visible_text('West Bengal')

#Click on Proceed Button
proceed = webdriver.find_element_by_css_selector('#btnProceed')

proceed.click()

sleep(3)

ana = webdriver.find_element_by_css_selector('#Query')
ana.click()
sleep(1)

#Select District Name
dis = Select(webdriver.find_element_by_css_selector('#ddlDistrict'))

for opt in dis.options:
    dis.select_by_visible_text('South 24-Parganas')

sleep(3)

#Select Block Name
block = Select(webdriver.find_element_by_css_selector('#ddlBlock'))





for opt in block.options:
    block.select_by_visible_text('Sonarpur')

sleep(1)
pro1 = webdriver.find_element_by_css_selector('#btnBoundary')

pro1.click()

sleep(3)

#df = pd.DataFrame(['PMGSY','CN RD NUMBER','District','Block','CN ROAD NAME' ,'StartChainage','EndChainage'  ,'RoadLength',  'RouteType','Benefited Habs'])

#a = [617,644,323,620]
#b = [205,207,324,109]

#Loop runs 600 times for same pixel value e.g. a=b=1,a=b=2 .... a=b=600.

a=range(1,600)

b=range(1,600)


useHeader = True
element1=[]



for i in range(0,len(a)):
    print (i)
    #num = format(a[i], ',d')
    num = "1,"+str(a[i])
    num = num+'_'+str(b[i])
    webdriver.execute_script('''window.open("http://www.pmgsy-grris.nic.in/MapController.ashx?&Command=FeatureSelection&Points='''+num+'''&MapAlias=Map1","_blank");''')

    tabs = webdriver.window_handles;

#print (tabs)
    webdriver.switch_to.window(tabs[1]);
    

#head = webdriver.find_element_by_tag_name("table")


#file_data=[]
#head_line = head.find_element_by_tag_name("tr")
#td1 = head_line.find_element_by_tag_name("td")
    file_header = [header.text for header in webdriver.find_elements_by_tag_name('td')]
#file_data.append(file_header)

#print (file_header)

    title = file_header[::2]
#print (title)
    
    element = file_header[1::2]
    if (element1 == element):

        webdriver.execute_script('''window.close()''')
        webdriver.switch_to.window(tabs[0]);
        continue
    else:
    #print (element)
    #df = pd.DataFrame(title)
        df1 = pd.DataFrame(element,title)
    #print (df1)
#df.append(df1)
        
        name = webdriver.find_element_by_tag_name("body").text
        arr = name.split("\n")

        if (arr[0] == "Road_CN~"):
            df1.T.to_csv("road.csv" ,mode="a",header = useHeader)
            useHeader = False

        elif (arr[0] == "Habitation~"):
            df1.T.to_csv("habitat.csv" ,mode="a",header = useHeader)
            useHeader = False
        else:
            print ("Nothing")
            
        element1 = element
    
        webdriver.execute_script('''window.close()''')
        webdriver.switch_to.window(tabs[0]);
    
    


#df.T.to_csv('path.csv')
        
#webdriver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't');


#webdriver.get('http://www.pmgsy-grris.nic.in/MapController.ashx?&Command=FeatureSelection&Points=1,0_1&MapAlias=Map1')
#Right - 11362
#Bottom - 561



Reply via email to