Requisito previo: Selenium Python
En este artículo, extraeremos el resultado de CBSE de su sitio web y almacenaremos el resultado en un archivo CSV. El archivo CSV contendrá la siguiente información.
- Nombre del candidato
- Estado de aprobado o reprobado
- Marcas obtenidas
Instalaciones requeridas
- Vaya al símbolo del sistema y ponga esto en:
pip install selenium
- Una vez hecho esto, descargue un controlador web para la automatización. Aquí, usaremos chromedriver de http://chromedriver.chromium.org/
Acercarse:
- Primero en ir al sitio web número 12, siga este ENLACE (esto es para el resultado 12 de la junta de CBSE en 2014).
- Luego haga clic en investigar el elemento presionando ctrl + shift + I urgentemente o accediendo a la configuración del navegador y haciendo clic en investigar detalles manualmente.
- Luego navegue hasta el cuadro donde se completa el número de rollo y luego copie x_path.
- Luego navegue por el botón Ver enviar y luego copie el archivo x_path.
- Queremos almacenar el resultado en un archivo CSV, luego también navegar por el nombre del estudiante, el estado de reprobado, las calificaciones obtenidas y luego completar el número de registro automáticamente mediante el script. Vaya a la página siguiente, busque x_path del nombre del estudiante, estado de reprobado, obtenga calificaciones.
Dada una captura de pantalla para seguir esta instrucción paso a paso:
Paso 1:
Paso 2:
Paso 3:
Paso 4:
Paso 5:
Paso 6:
A continuación se muestra la implementación:
Python3
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException import csv import time # creating csv file filename = "cbse.csv" # open csv file to write f = open(filename, 'w') # creat header in file header = "NAME,STATUS,NUM\n" f.write(header) # put range of rollnumber for i in range(9639428, 9639432): # use try and exception because if any # rollnumber is invalid then whole # program is not stop. try: driver = webdriver.Chrome() # link is given above copy and paste driver.get( "http://resultsarchives.nic.in/cbseresults/cbseresults2014/class12/cbse122014_total.htm") # put rollnumber driver.find_element_by_xpath( '/html/body/table[3]/tbody/tr/td/font/center[2]/form/div[1]/center/p/input[1]').send_keys(i) # view result xpath driver.find_element_by_xpath( '/html/body/table[3]/tbody/tr/td/font/center[2]/form/div[1]/center/p/input[2]').click() # student name name = driver.find_element_by_xpath( '/html/body/div[2]/table[2]/tbody/tr[2]/td[2]/font/b').text # status pass or fail status = driver.find_element_by_xpath( '/html/body/div[2]/div/center/table/tbody/tr[12]/td[2]/b[1]/font').text # first subject find xpath then next 4 subject m1 = driver.find_element_by_xpath( '/html/body/div[2]/div/center/table/tbody/tr[2]/td[5]/font').text m2 = driver.find_element_by_xpath( '/html/body/div[2]/div/center/table/tbody/tr[3]/td[5]/font').text m3 = driver.find_element_by_xpath( '/html/body/div[2]/div/center/table/tbody/tr[4]/td[5]/font').text m4 = driver.find_element_by_xpath( '/html/body/div[2]/div/center/table/tbody/tr[5]/td[5]/font').text m5 = driver.find_element_by_xpath( '/html/body/div[2]/div/center/table/tbody/tr[6]/td[5]/font').text # sum all marks num = str(int(m1)+int(m2)+int(m3)+int(m4)+int(m5)) # all details fill into file f.write(name+","+status[9:]+","+num+"\n") driver.close() except NoSuchElementException as exception: continue f.close()
Producción:
Publicación traducida automáticamente
Artículo escrito por praveeny182 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA