爬虫爬取数据、分析并可视化操作

本次对最好大学网进行爬虫示例。

1.获取网页响应

def getHTMLText(url):try:resp = request.urlopen(url)html_data = resp.read().decode('utf-8')return html_dataexcept:return ""

通过request来获取网页的信息。

2.进行对网页信息的处理

def fillUnivList(ulist, html):soup = BeautifulSoup(html, "html.parser")for tr in soup.find('tbody').children:  # 搜索'tbody'后面的子节点if isinstance(tr, bs4.element.Tag):tds = tr('td')ulist.append([tds[0].string, tds[1].string,tds[2].string, tds[3].string])

使用bs4对网页信息进行处理,并以数组形式存储。

def printUnivList(ulist, num):tplt = "{0:^10}\t{1:{4}^10}\t{2:^10}\t{3:^10}"print(tplt.format("rank", "sn", "area",'grade', chr(12288)))for i in range(num):u = ulist[i]print(tplt.format(u[0], u[1], u[2],u[3], chr(12288)))

这里对所获得信息进行输出检验,用tplt存放输出 格式的定义;其中^表示居中对齐,10表示按10个字符的长度输出。长度不够补空格,{4}表示使用format函数的第四个变量进行填充,即使用中文的空格进行填充。 chr(12288)表示按中文的习惯进行填充空格,为了输出对齐的约束

3.存储网页信息至csv文件

for i in range(100):fieldnames = ["rank", "sn", "area",'grade']a = dict(zip(fieldnames, uinfo[i]))write_to_file(a)def write_to_file(items):with open('save.csv','a',encoding='utf_8_sig')as f:fieldnames = ["rank", "sn", "area",'grade']w = csv.DictWriter(f, fieldnames=fieldnames)w.writerow(items)

由于爬取数据时,数据类型为数组,为方便后续得到可视化操作,在存储数据前,将数组转化为字典格式存储。

4.可视化操作

根据成绩排名表:

    df_grade= df.sort_values('grade',ascending=False)#asc False降序,True升序: descsn1 = df_grade.sn[:10] #X轴坐标grade1 = df_grade.grade[:10]#Y轴坐标plt.bar(range(10),grade1,tick_label=sn1) #绘制条形图,用range()能保持X轴顺序一致plt.ylim(0,100)plt.title("学校评分Top10",color=colors1)plt.xlabel('学校名称')plt.ylabel('评分')
#标记数值for x,y in enumerate(list(grade1)):plt.text(x,y+0.01,'%s' %round(y,1),ha='center',color=colors1)pass

根据大学数量对地区排名:

area_count = df.groupby(by='area').area.count().sort_values(ascending=False)

其余可根据成绩排名表改。

5.结果


从大学分数排名图中,我们可以看出,在前十的国内大学中,清华大学相较于其他大学评分遥遥领先。

从各地大学数量图中,我们可以看到国内前百大学中,北京的大学占比最高,江苏其次,然后是上海,甘肃最少。从中可以反映出北京的高端教育水平较高。

爬取最好大学网数据、分析并可视化操作相关推荐

  1. python爬虫爬取最好大学网排名分析地区大学数量分布并绘制柱状图和词云

    本人也是初学者,本博客用于python初学者参考使用. 分析网页 本次爬取的是最好大学网软科中国最好大学排名2018:http://www.zuihaodaxue.cn/zuihaodaxuepaim ...

  2. 使用Python爬取“最好大学网”软科中国最好大学排名2019并做可视化分析

    使用Python爬取"最好大学网"软科中国最好大学排名2019并做可视化分析 简介 开发环境 爬取数据 1.获取网站页面 2.解析网页内容 3.存储数据 可视化分析 基本设置 显示 ...

  3. requests-bs4路线爬取中华英才网并分析热门职位及其薪资

    requests-bs4路线爬取中华英才网并分析热门职位及其薪资 在现在这个信息爆炸的时代,每人每分每秒都在产生数据,数据单位是PB量级.在如此巨大的数据中,通过数据分析可以使企业清晰的了解到目前的现 ...

  4. 爬虫爬取中国大学排名top100并简单可视化分析

    爬虫爬取中国大学排名top100并简单可视化分析. 目标链接 http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html 实践环境 pycharm201 ...

  5. 【Python从零到壹】使用XPath解析数据爬取起点小说网数据

    我们已经可以从网上爬取数据了,现在我们来看看如何对数据解析 文章目录 1. xpath 的介绍 优点: 安装lxml库 XML的树形结构: 选取节点的表达式举例: 2. 爬取起点小说网 在浏览器中获取 ...

  6. websect爬取小米官网数据

    webesct 首先要下载webesct nom i websect 老规矩,还是爬取小米官网的数据QAQ,现在要爬取的是这个: const $ = require("websect&quo ...

  7. java 使用Jsoup 爬取 中国政府采购网数据

    int isSize = 1; Integer pageSize = 0; Integer timeType = 4; // 时间类型 6: 指定时间 5:近半年 0:今日 4:近3月 public ...

  8. 爬取最好大学网排名数据

    今天闲来无事,写了个小爬虫,爬取了最好大学网的排名数据. 最好大学网 主要是使用requests库进行爬取,使用xpath和正则表达式提取数据,然后将数据保存到文件中. 源码 from lxml im ...

  9. Python爬虫实例: 爬取“最好大学网”大学排名

    实例2 爬取大学排名 上海交通大学设计了一个"最好大学网",上面列出了当前的大学排名.我们要设计爬虫程序,爬取大学排名信息. 爬虫功能要求: 输入:大学排名URL链接 输出:大学排 ...

最新文章

  1. C++中的const关键字(zz)
  2. Spring Data JPA 与 MyBatis 对比,你喜欢用哪个?
  3. 读完《Effective Java》后,总结了 50 条开发技巧
  4. php用命令行脚本执行,使用PHP命令行执行PHP脚本的注意事项
  5. mysql分区失败_MYSQL表分区操作错误1503解决方案
  6. linux find 命令使用注意
  7. java集合合并_【Java必修课】各种集合类的合并(数组、List、Set、Map)
  8. 没事不要在for循环期间增减迭代序列的成员
  9. Mobileye单目测距
  10. php yii 控件分页,Yii实现简单分页的方法
  11. 单片机通过改变占空比改变电机转速c语言,直流电动机的调速 用单片机产生PWM控制...
  12. Kali安装foremost
  13. 鲲志说:向我跌宕起伏,喜忧参半的2022致敬!
  14. 关于坐标系(大地坐标、平面坐标、投影、北京54、西安80、WGS84)的一些理解
  15. 正好杠杆炒股短期继续震荡筑底
  16. 检测你的黑苹果系统主板是否支持原生NVRAM
  17. 蓝旭前端第二周预习———HTML标签+如何查看控制台
  18. 野路子记录玩耍树莓派心路历程
  19. 发个好用的免费扫号软件...! (附使用方法)
  20. 今天看完“玉观音”了

热门文章

  1. 2021年NBA季后赛第一轮大比分预测
  2. Juniper SRX密码复杂度、尝试登陆等相关设置
  3. 嗅探器模式和数据包记录模式
  4. 微信QQ发送消息时间提示
  5. Photoshop安装错误:无法写入注册表值。请检查权限。解决的办法居然是居然是居然是卸载到2345看图王
  6. [LOJ 6035] 洗衣服
  7. Hystrix之@HystrixProperty杂记
  8. CodeBlocks安装方法(Nightly Build版) 和几款高亮皮肤
  9. 李永乐660高等数学极限题目技巧
  10. JXNU Linux 实验四~实验十五