Vamos a recopilar los datos de la clase 12 en un archivo CSV con la siguiente información:
- Nombre del candidato
- Estado de aprobación o falla
- División
- Obtener notas
Esta tarea se realizará utilizando la biblioteca de selenium de Python.
Requisito:
Debe instalar el controlador de Chrome y establecer la ruta. Haga clic aquí para descargar. Para más información sigue este enlace .
Acercarse:
- Primero en ir al sitio web número 12, siga este ENLACE (esto es para el resultado número 12 del tablero superior).
- Luego haga clic en investigar el elemento presionando ctrl + shift + i de forma urgente o acceda a la configuración del navegador y haga clic en investigar detalles manualmente.
- Luego navegue hasta el cuadro donde se selecciona el distrito y luego copie x_path.
- Luego navegue hasta el cuadro donde se completa el número de rollo y luego copie x_path.
- Luego navegue por el botón de ver resultados y luego copie x_path.
- Quiero almacenar el resultado en un archivo CSV y luego navegar por el nombre del estudiante, el estado de desaprobación, la división, obtener calificaciones. Luego llene el número de lista automáticamente por secuencia de comandos, vaya a la página siguiente, busque x_path del nombre del estudiante, estado de reprobado, división, obtenga calificaciones.
Siga paso a paso con la ayuda de capturas de pantalla y copie el x_path del elemento y colóquelo en el código:
Paso 1:
Paso 2:
Paso 3:
Paso 4:
Paso 5:
Paso 6:
Paso 7:
Paso 8:
Paso 9:
Paso 10:
Paso 11:
Paso 12:
A continuación se muestra la implementación:
Python3
# import required libraries 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 # give name of csv file filename = "abc.csv" # open file in write mode f = open(filename, 'w') # creat header in file header = "NAME,STATUS,DIV,NUM\n" # write into the file f.write(header) # put rollnumber without zero like # your number 0477593 then # put 477593 upto XXXXX. start_rollNum = 926840 end_rollNum = 926841 # put range of rollnumber for i in range(start_rollNum, end_rollNum ): # use try and except 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("https://results.upmsp.edu.in/ResultIntermediate.aspx") # add zero in rollnumber in starting t = '0' + str(i) # district xpath state = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_ddl_districtCode"]') drp1 = Select(state) # select district drp1.select_by_visible_text('LUCKNOW') # put rollnumber driver.find_element_by_xpath('//*[@id="ctl00_cphBody_txt_RollNumber"]').send_keys(t) # view result xpath driver.find_element_by_xpath('//*[@id="ctl00_cphBody_btnSubmit"]').click() # student name name = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_C_NAME"]').text # status pass or fail status = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_RESULT"]').text # division div = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_DIVISION"]').text # obatin marks num = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_MRK_OBT"]').text # all details fill into csv file f.write(name + "," + status + "," + div[1 : ] + "," + num + "\n") # close the driver driver.close() except NoSuchElementException as exception: continue # close and save the file f.close()
Producción:
Nota: si desea encontrar un topper, aplique un filtro en el archivo CSV.
Publicación traducida automáticamente
Artículo escrito por praveeny182 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA