¡Solicite un artefacto voluntario! Python obtiene automáticamente los puntajes del examen de ingreso a la universidad para cada universidad

¡Después de que finaliza el examen anual de ingreso a la universidad, el momento más emocionante es llenar a los voluntarios del examen de ingreso a la universidad! Sin embargo, cada año, los padres y los estudiantes se quedan perplejos al llenar sus voluntarios ¿Cómo maximizar el valor de los puntajes de sus hijos y entrar a la escuela más ideal? Si revisa la línea de puntaje de cada escuela desde el sitio web y hace una comparación horizontal, puede tomar mucho tiempo para verificar. .

imagen

Si la tecnología de rastreo se utiliza para integrar las líneas de puntuación de todas las universidades en una hoja de Excel, entonces las líneas de puntuación de cada universidad se aclararán de un vistazo, ¡y la situación de qué escuela se puede informar es muy clara!

pyTuohai escribió un script de python en su tiempo libre, que puede obtener con éxito la información de admisión de 2000 colegios y universidades, incluido el primer lote de estudiantes universitarios, el segundo lote de estudiantes universitarios y la información de admisión de estudiantes universitarios por adelantado . No hay mucho que decir, el código del script es el siguiente:

# -*- coding:utf-8 -*-
from selenium import webdriver
import os
import time
import xlwings
# 浏览器加载选项,options下两个方法是不记录日志防止报错:连到系统上的设备没有发挥作用
options = webdriver.ChromeOptions()
options.add_argument('–log-level=3')
options.add_experimental_option('excludeSwitches', ['enable-logging'])
# 使用chrome浏览器 指定webdriver.exe地址
browser = webdriver.Chrome(executable_path=r'D:/chromedriver.exe',options=options,service_log_path=os.devnull)
#设置超时时间
browser.set_page_load_timeout(4)
#智能隐性等待时间
browser.implicitly_wait(30)
#打开excel程序
app = xlwings.App(visible=True,add_book=False)
#新建一个excel
workbook = app.books.add()
#新建一个sheet
sht = workbook.sheets('sheet1')
#新建一行标题并写入
rowA1 = ['大学名称','年份','录取批次','招生类型','最低分/最低位次','省控线']
sht.range('A1').value = rowA1
#用于查询table标签中第几行第几列的str
def row_cell_get_table_text(browser,locator,row,cell):
    locator = "%s/tr[%s]/td[%s]" % (locator,row+1,cell)
    a = browser.find_element_by_xpath(locator).text
    return a
#主函数:获取高考网的各个学校录取线信息,并写入excel
def gaokao():
    try:
        rowi = 2#初始化变量,用于excel行的参数传入
        for i in range(27,2000):#循环两千所学校
            print('学校id:',i)
            DAY_PAGE = "https://gkcx.eol.cn/school/"+str(i)+"/provinceline"
            try:
                browser.get(DAY_PAGE)
                time.sleep(2)#延迟冗余
            except:
                continue
            print('打开页面成功')
            print('当前页面url:',browser.current_url)
            
            browser.refresh()#刷新页面冗余
            locator = "//*[@class='line_table_box']/table/tbody"#指定到table标签
            for row in range(1,5):
                try:
                    print('获取分数信息中...')
                    name = browser.find_element_by_xpath("//*[@class='line1']/span").text#学校名称
                    a = row_cell_get_table_text(browser,locator,row,1)
                    b = row_cell_get_table_text(browser,locator,row,2)
                    c = row_cell_get_table_text(browser,locator,row,3)
                    d = row_cell_get_table_text(browser,locator,row,5)
                    e = row_cell_get_table_text(browser,locator,row,6)
                    list = []#初始化list
                    list.append(name)
                    list.append(a)
                    list.append(b)
                    list.append(c)
                    list.append(d)
                    list.append(e)
                    print(list)
                    sht.range("A"+str(rowi)).value = list#将爬到的值写入excel
                    rowi = rowi + 1#excel行加1
                except:
                    break
            #browser.refresh()
    except Exception as e:
        print(e)
if __name__ == '__main__':
    gaokao()
    workbook.save(f'd:\\gaokao.xlsx')
    workbook.close()

Después de que se ejecuta el script, el efecto es el siguiente:

imagen

El script es muy simple, y he comentado donde debería haber comentarios. Cualquiera con cierta base de python puede entenderlo. Aquí hay algunos puntos de atención:

from selenium import webdriver
import os
import time
import xlwings

Tenga en cuenta que el paquete de importación se importa completamente

# 使用chrome浏览器 指定webdriver.exe地址
browser = webdriver.Chrome(executable_path=r'D:/chromedriver.exe',options=options,service_log_path=os.devnull)

Utilizo el navegador Chrome, así que descargue el chromedriver.exe correspondiente a la versión de Chrome para que el programa controle automáticamente el navegador y colóquelo en el directorio raíz de la unidad D. Aquí están los enlaces de descarga para cada versión de Chromedriver: http ://npm.taobao.org/mirrors/chromedriver

Compruebe la versión de su navegador aquí:

imagen

Si no tiene su propia versión, descargue una versión similar e intente ~

¡El código fuente anterior se puede copiar directamente al local para ejecutarlo!

Acerca de la reserva técnica de Python

Es bueno aprender Python, ya sea que se trate de un empleo o de un negocio secundario para ganar dinero, pero para aprender Python, aún necesita un plan de estudio. Finalmente, todos compartirán un conjunto completo de materiales de aprendizaje de Python para ayudar a aquellos que quieran aprender Python.

1. Rutas de aprendizaje en todas las direcciones de Python

La ruta de todas las direcciones en Python es organizar los puntos técnicos comúnmente utilizados de Python para formar un resumen de los puntos de conocimiento en varios campos. Su utilidad radica en que puede encontrar los recursos de aprendizaje correspondientes de acuerdo con los puntos de conocimiento anteriores para asegurarse de que aprende de manera más integral.

2. Software de aprendizaje

Si un trabajador quiere hacer un buen trabajo, primero debe afilar sus herramientas. El software de desarrollo comúnmente utilizado para aprender Python está aquí, lo que le ahorra mucho tiempo.

3. Video de aprendizaje introductorio

Cuando vemos videos y aprendemos, no podemos simplemente mover nuestros ojos y cerebro sin usar nuestras manos. Un método de aprendizaje más científico es usarlos después de comprender. En este momento, el proyecto práctico es muy adecuado.

4. Casos prácticos

La teoría óptica es inútil, tienes que aprender a seguirla, y tienes que hacerlo tú mismo, para que puedas aplicar lo que has aprendido a la práctica. En este momento, puedes aprender de algunos casos reales de combate.

5. Materiales de entrevista

Debemos aprender Python para encontrar trabajos bien remunerados. Las siguientes preguntas de la entrevista son los materiales de entrevista más recientes de compañías de Internet de primera línea como Ali, Tencent y Byte, y los jefes de Ali han dado respuestas autorizadas. Después de terminar este conjunto Los materiales de la entrevista creen que todo el mundo puede encontrar un trabajo satisfactorio.


Esta versión completa del conjunto completo de materiales de aprendizaje de Python se ha subido a CSDN. Si lo necesita, puede escanear el código QR de la certificación oficial de CSDN a continuación en WeChat para obtenerlo de forma gratuita【保证100%免费

La información, la tecnología, los cursos, las respuestas y las consultas de Python también pueden hacer clic directamente en la tarjeta de presentación a continuación,添加官方客服斯琪

Supongo que te gusta

Origin blog.csdn.net/Python_cocola/article/details/131307967
Recomendado
Clasificación