数据挖掘:高考志愿高校及专业分析系统

1. 项目简介

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

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

2. 功能组成

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

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

利用 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

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

4.1 系统注册登录

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

搜索清华大学:

搜索中央财经大学:

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

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

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

项目分享

项目分享:

https://gitee.com/asoonis/feed-neo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值