基于Python的高考志愿高校及专业分析系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。

一项目简介

   本项目利用网络爬虫技术从某高考网抓取各大高校的历年高空录取分数线,并进行数据清洗存储到文件系统中,对外提供高校信息查询服务和依据高空分数筛选可能录取的高校等信息,方便考生选择合适的学校进行填报。 以高校搜索,查看该高校不同专业历年的录取分数线,以专业搜索,可查看不同高校该专业的录取分数线情况,以分数搜索,可查看可录取的高校和专业。 本项目利用 pandas + sklearn 对高考的高校和专业的数据进行统计分析,并利用 flask 搭建后台,构建标准 restful 接口,前端利用 bootstrap + echarts + jquery 调用后台接口,并进行前端的渲染可视化。

二、数据读取

  基于 Python 的高考志愿高校及专业分析系统的功能主要包括:

在这里插入图片描述

三、基于 Python 的高考志愿高校及专业分析系统

3.1 登录注册

在这里插入图片描述

3.2 查询高校基本信息和历年录取分数线

在这里插入图片描述
在这里插入图片描述

3.3 知分填志愿:查询可能录取的高校

在这里插入图片描述

3.4 专业搜索:查询各大高校专业分数线

  用户输入感兴趣的专业,查看各大高校该专业的录取分数线情况,点击该学校可继续查看该学校的基本信息和历年的录取情况:
在这里插入图片描述

四. 高校及专业录取分数线信息抓取

   利用 python 的 request + beautifulsoup 等工具包编写高考分数线信息的原生爬虫,抓取的信息经过数据清洗和结构化后存储到数据库或文件系统中:

for page in range(1, total_page):
    url = base_url.format(page)
    print('抓取第 {} 页的数据, {}'.format(page, url))
 
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept-Encoding': 'gzip, deflate, compress',
        'Accept-Language': 'en-us;q=0.5,en;q=0.3',
        'Cookie': 'Your cookies',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
        'Referer': url,
        'Host': 'xxxxxx.xxx.com'
    }
    response = requests.get(url, headers=headers)
    response.encoding = 'gbk'
    soup = BeautifulSoup(response.text, 'lxml')
    scores_List = soup.find(name='div', attrs={'class': 'scores_List'})
 
    dls = scores_List.find_all(name='dl')
 
    for dl in dls:
        try:
            score_info = {}
            name = dl.find('strong').text
            link = dl.find('a')['href']
            print(name, link)
            # 打开学校的详情页
            response = requests.get(link, headers=headers)
            response.encoding = 'gbk'
            soup = BeautifulSoup(response.text, 'lxml')
            # 大学的基本信息
            college_msg = soup.find('div', class_=['college_msg', 'bk'])
            # 趋势线
            score_qushi = soup.find('div', class_='graybox').img
            if score_qushi:
                score_qushi = score_qushi['src']
 
            score_table = soup.find('div', class_='tabCon5').table
            # 平均分
            mean_score = score_table.find('td', id='pjf').text
 
            score_info = {
                '高校': name,
                '链接': link,
                '基本信息': str(college_msg),
                '录取分数线图': score_qushi,
                '平均分': int(mean_score),
                '历年分数线': str(score_table)
            }
            all_school_infos.append(score_info)
        except Exception as e:
            pass

五. 总结

  本项目利用网络爬虫技术从某高考网抓取各大高校的历年高空录取分数线,并进行数据清洗存储到文件系统中,对外提供高校信息查询服务和依据高空分数筛选可能录取的高校等信息,方便考生选择合适的学校进行填报。 以高校搜索,查看该高校不同专业历年的录取分数线,以专业搜索,可查看不同高校该专业的录取分数线情况,以分数搜索,可查看可录取的高校和专业。 本项目利用 pandas + sklearn 对高考的高校和专业的数据进行统计分析,并利用 flask 搭建后台,构建标准 restful 接口,前端利用 bootstrap + echarts + jquery 调用后台接口,并进行前端的渲染可视化。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值