高考已经结束了,相信绝大部分同学都在放松自己了,毕竟压抑了这么久。现在虽然距离高考放榜还有一段时间,可能有一些同学已经迫不及待地想知道自己考的怎样。因此,现在就来爬取高考网上的近几年高考分数线,看一下近几年分数线的变化趋势,从而心里面有个底,这样才能够更加放松的去嗨皮。
使用的工具库
beautifulsoup
mongodb
echarts
总体思路
在高考网上,可以查看各省的分数线,其中文理科都有2009-2017年的数据,所以可以直接爬取这些数据下来存到MongoDB
中,然后再使用echarts
进行绘图展示,从而可以更加直观的看到高考分数线的变化趋势
爬取数据
一、获取各省的分数线信息:
有两种方法可以达到这个目的:
通过拼接URL链接切换省份,可以得出链接的变化规律:只要替换省份的拼音上去就可以请求到
http://www.gaokao.com/guangdong/fsx/
http://www.gaokao.com/shanghai/fsx/通过获取地区导航中的各省链接,直接得到URL
如果使用第一种方法的话,推荐使用pypinyin
模块——汉字拼音转换模块/工具。直接使用lazy_pinyin
方法就可以得到各省的拼音。由于返回的是列表,所以还需要处理一下才能使用。
lazy_pinyin
例子:
>>> from pypinyin import lazy_pinyin
>>> lazy_pinyin('北京')
['bei', 'jing']
这里就直接使用的二种方法(原因嘛——懒癌,哈哈)
直接定义一个方法去实现。
代码:
# 获取省份及链接
pro_link = []
def get_provice(url):
web_data = requests.get(url, headers=header)
soup = BeautifulSoup(web_data.content, 'lxml')
provice_link = soup.select('.area_box > a')