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

目标链接
http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html
实践环境
pycharm2018+python3.7
实践思路
首先进入目标链接,查看目标数据是否为动态变化。
确认非动态变化后,对页面进行解析,提取需要的相关数据信息。
将数据存入csv文件中并保存。
后对保存的数据进行简单的数据分析并可视化。
实践过程
一、 数据抓取
判断目标数据非动态变化后,可进行数据抓取。
代码如下:
(1)获取网站页面’’’

def getHTMLText(url):try:resp = request.urlopen(url)html_data = resp.read().decode('utf-8')return html_dataexcept:return ""'''(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])

二、数据存储
本次数据存储利用CSV库对数据进行写入并保存。
代码:

def write_to_file(items):# with open('daxuedata.csv', 'a', encoding='utf_8_sig') as f:#         f.write(json.dumps(items, ensure_ascii=False) + '\n')#         passwith open('daxuedata3.csv', 'a', encoding='utf_8_sig',newline='') as f:fieldnames = ['index','schoolname','area','score',]w = csv.DictWriter(f,fieldnames = fieldnames)w.writerow(items)passpass

三、数据简单分析且可视化
1、对大学评分前十的学校进行排名并画出图形。
代码:

def dataanly1():df_score = df.sort_values('score',ascending=False) # asc Flase降序 True升序 ; descname1 = df_score.schoolname[:10]  # x轴坐标score1 = df_score.score[:10]    # y轴坐标plt.bar(range(10),score1,tick_label=name1)  # 绘制条形图,用range()能保持x轴顺序一致plt.ylim(10,100)plt.title("大学评分最高Top10",color=colors1)plt.xlabel("大学名称")plt.ylabel("评分")# 标记数值for x,y in enumerate(list(score1)):plt.text(x,y+0.5,'%s' %round(y,1),ha='center',color=colors1)passpl.xticks(rotation=270) # 旋转270°plt.tight_layout()  # 去除空白plt.show()pass

2、对各地区的大学数量统计并画出简单图形。
代码:

def DXAnly2():area_count = df.groupby(by='area').area.count().sort_values(ascending=False)# 绘图方法1area_count.plot.bar(color='#4652B1')  # 设置为蓝紫色pl.xticks(rotation=0)  # x轴名称太长重叠,旋转为纵向for x, y in enumerate(list(area_count.values)):plt.text(x, y + 0.5, '%s' % round(y, 1), ha='center', color=colors1)plt.title('各地区大学数量排名')plt.xlabel('地区')plt.ylabel('数量(所)')plt.show()
pass

实践结果:

图 1大学评分最高前十名
由图可以简单看出大学评分在90分以上的只有一所清华大学,前十名的大学中只有6所大学的评分超过60。
前三名的大学分别是清华大学、北京大学、浙江大学。

图 2各个地区的大学数量排名
由图可以简单看出评分前100名的大学中,北京就占了23所。说明北京作为我国的首都,其中的高素质教育水平远远超过其他地方。
其中前三名的地区是北京、江苏、上海,这也是我国经济水平较为发达的地区,可以简单的看见高素质教育水平可以影响地区经济的发展。

爬虫爬取中国大学排名top100并简单可视化分析相关推荐

  1. 爬虫爬取中国大学排名

    爬取该网站的排名并输出 首先查看网页的源代码 找到大学排名所在的位置 然后写代码 import requests from bs4 import BeautifulSoup import bs4 de ...

  2. Python爬取中国大学排名,并且保存到excel中

    前言 以下文章来源于数据分析和Python ,作者冈坂日川 今天发的是python爬虫爬取中国大学排名,并且保存到excel中,当然这个代码很简单,我用了半小时就写完了,我的整体框架非常清晰,可以直接 ...

  3. 第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的步骤方法)

    第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的想法) 名称:定向爬取--中国大学排名定向爬取 首先,爬之前,看看你要定向爬取的网站和数据是什么类型的? 打开你要爬取网站, ...

  4. Python爬虫系列(二):爬取中国大学排名丁香园-用户名和回复内容淘宝品比价

    Python爬虫系列(二):爬取中国大学排名&丁香园-用户名和回复内容&淘宝品比价 目录 Python爬虫系列(二):爬取中国大学排名&丁香园-用户名和回复内容&淘宝品 ...

  5. python中国最好大学排名_国内大学排名如何?用Python爬取中国大学排名

    国内大学排名如何?用Python爬取中国大学排名准备阶段需要的库robots协议上代码代码框架*获取url信息*解析信息*输出数据*主函数结果 准备阶段 新手入门,不喜勿喷,这篇文章的内容其实也是在中 ...

  6. 爬取中国大学排名并以csv格式存储

    爬取中国大学排名并以csv格式存储 import requests from bs4 import BeautifulSoup import bs4def get_content(url):try:u ...

  7. 爬虫爬取最好大学排名

    ☞☞☞点击查看更多优秀Python博客☜☜☜ 爬虫爬取最好大学排名 **程序设计思路:** 代码细节分析 得到源代码函数分析 得到特定的tr标签函数分析 ==**文章导航:==** 最近跟着北京理工大 ...

  8. Python练习-爬虫(附加爬取中国大学排名)

    Python与网页处理 Python 语言发展中有一个里程碑式的应用事件,即美国谷歌(GOOGLE)公司在搜索引擎后端采用Python 语言进行链接处理和开发,这是该语言发展成熟的重要标志.Pytho ...

  9. python爬取中国大学排名

    教程来自:[Python网络爬虫与信息提取].MOOC. 北京理工大学 目标:爬取最好大学网前50名大学 代码如下: import requests from bs4 import Beautiful ...

最新文章

  1. C# 读取 Access
  2. 格式化时间中HH:mm:ss与hh:mm:ss的区别
  3. C#连接ORACLE数据库乱码问题
  4. Kafka 教程(二) 集群搭建和容错性测试
  5. htmlparser新建tag类(以iframe标签为例)
  6. 【码农本色】用数据解读我的2014
  7. 这个拖后腿的“in”
  8. 研讨会 | 知识图谱大咖云集阿里,他们都说了啥
  9. 死磕JDK源码之String
  10. php实战第二十五天
  11. aws rds监控慢sql_AWS RDS SQL Server的多可用区配置
  12. Ablation study 是什么意思?
  13. 基于hydra的ssh密码的暴力破解
  14. Python实现LBP算法
  15. nachos中文教程java_Nachos实验环境搭建
  16. 学计算机的 1加1,如何用“一加一等于几”解析人生
  17. Java程序员月薪20k的涨薪秘籍,系列教学
  18. 揭秘“菲住布渴”中运用的黑科技:除了check in、坐电梯、开门...全部刷脸之外,还有什么?
  19. Oracle不走索引hint,oracle不走hint原因1:依据hint会出现错误结果
  20. 如何使用Pytest进行自动化测试

热门文章

  1. C++笔试试题讲解(~~~可能是全站唯独一份有解析的~~~)
  2. 奥鹏福建师范大学2021年2月考试《计算机应用基础》作业56754
  3. 【JavaWeb】本地文件传输协议(File://)
  4. 浅浅轻吟如花的芬芳,开始散漫着
  5. 融云CEO韩迎:如何基于云通讯构建企业竞争力
  6. Spark RDD 论文详解(七)讨论
  7. 小程序 height: 100vh; onReachBottom触底事件不触发
  8. 比较简单的nginx搭建静态资源linux服务器教程
  9. 最重要的会计期间是_数据备份应该在每个会计期间完成( )后进行
  10. java请求url加密_SpringCloud-Config通过Java访问URL对敏感词加密解密