v1.0

import requests
import bs4
from bs4 import BeautifulSoup# 获取大学排名网页内容
def getHTMLText(url):try:headers = {'user-agent': 'Mozilla/5.0'}r = requests.get(url, timeout=30, headers=headers) #请求URL超时,产生超时异常r.raise_for_status() #如果转态不是200,引发HTTPError错误r.encoding = r.apparent_encoding return r.textexcept:return ""# 提取信息到合适的数据结构
def fillUnivList(ulist, html):soup = BeautifulSoup(html, "html.parser")for tr in soup.find('tbody').children:if isinstance(tr, bs4.element.Tag):tds = tr('td')ulist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string])# 利用数据结构数据展示并输出结果
def printUnivList(ulist, num):
#     tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}\t{3:^10}"
#     print(tplt.format("排名", "学校名称", "省份", "总分", chr(12288))) #采用中文字符的空格填空 chr(12288)
#     for i in range(num):
#         u = ulist[i]
#         print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))tplt = "{0:^10}\t{1:{4}^10}\t{2:^10}\t{3:^10}"print(tplt.format("排名", "学校名称", "省份", "总分", chr(12288)))for i in range(num):u = ulist[i]print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))# 主函数
def main():uinfo = []url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html"html = getHTMLText(url)fillUnivList(uinfo, html)printUnivList(uinfo, 10) #10 univsmain()

v2.0

import requests
import bs4
from bs4 import BeautifulSoup# 获取大学排名网页内容
def getHTMLText(url):try:headers = {'user-agent': 'Mozilla/5.0'}r = requests.get(url, timeout=30, headers=headers) #请求URL超时,产生超时异常r.raise_for_status() #如果转态不是200,引发HTTPError错误r.encoding = r.apparent_encoding return r.textexcept:return ""# 提取信息到合适的数据结构
def fillUnivList(ulist, html):soup = BeautifulSoup(html, "html.parser")for tr in soup.find('tbody').children:if isinstance(tr, bs4.element.Tag):tds = tr('td')ulist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string])# 利用数据结构数据展示并输出结果
def printUnivList(ulist, num):tplt = "{0:^10}\t{1:{4}^10}\t{2:^10}\t{3:^10}"print(tplt.format("排名", "学校名称", "省份", "总分", chr(12288)))for i in range(num):u = ulist[i]print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))# 保存数据
def saveUnivList(ulist, num):import pandas as pdfor i in range(num):u = ulist[i]
#         print(u)df = pd.DataFrame([u]) # [u]try:df.to_csv("univRangking.csv", mode="a+", header=None, index=None, encoding="gbk")
#             print("成功")except:print("当前行数据写入失败")# 主函数
def main():uinfo = []url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html"html = getHTMLText(url)fillUnivList(uinfo, html)
#     printUnivList(uinfo, 10) #10 univssaveUnivList(uinfo, 300) #前三百main()

读取数据

df = pd.read_csv("univRangking.csv", engine="python", header=None, encoding="gbk")
df.columns = ["排名", "学校名称", "省份", "总分"]
df


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

v2.1 爬取某一年份的数据

import requests
import bs4
from bs4 import BeautifulSoup# 获取大学排名网页内容
def getHTMLText(url):try:headers = {'user-agent': 'Mozilla/5.0'}r = requests.get(url, timeout=30, headers=headers) #请求URL超时,产生超时异常r.raise_for_status() #如果转态不是200,引发HTTPError错误r.encoding = r.apparent_encoding return r.textexcept:return ""# 提取信息到合适的数据结构
def fillUnivList(ulist, html):soup = BeautifulSoup(html, "html.parser")for tr in soup.find('tbody').children:if isinstance(tr, bs4.element.Tag):tds = tr('td')ulist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string])# 利用数据结构数据展示并输出结果
def printUnivList(ulist, num):tplt = "{0:^10}\t{1:{4}^10}\t{2:^10}\t{3:^10}"print(tplt.format("排名", "学校名称", "省份", "总分", chr(12288)))for i in range(num):u = ulist[i]print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))# 保存数据
def saveUnivList(ulist, num, year):import pandas as pdfor i in range(num):u = ulist[i]
#         print(u)df = pd.DataFrame([u]) # [u]try:df.to_csv("univRangking-%s.csv"%(year), mode="a+", header=None, index=None, encoding="gbk")
#             print("成功")except:print("当前行数据写入失败")# 主函数
def main():year = int(input("爬取的年份:"))url = "http://www.zuihaodaxue.com/zuihaodaxuepaiming%s.html" %(year)uinfo = []html = getHTMLText(url)fillUnivList(uinfo, html)saveUnivList(uinfo, 300, year) #前三百main()

import pandas as pddf = pd.read_csv("univRangking-2016.csv", engine="python", header=None, encoding="gbk")
df.columns = ["排名", "学校名称", "省份", "总分"]
df

中国大学排名数据获取相关推荐

  1. 最新!2022中国大学排名发布!

    Datawhale发布 来源:艾瑞深校友会网,编辑:学术君.CVer 2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布<2022校友会中国大学排名-高考志愿 ...

  2. 最新!2022中国大学排名发布

    来源 | 艾瑞深校友会网 编辑 | 学术君 2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布<2022校友会中国大学排名-高考志愿填报指南>,连续第2 ...

  3. 2021,软科中国大学排名新鲜出炉!清华、北大、浙大位居前三!

    "软科中国大学排名",前身是"软科中国最好大学排名", 自2015年首次发布以来,以专业.客观.透明的优势赢得了高等教育领域内外的广泛关注和高度认可,已经成为具 ...

  4. 最新:2022校友会中国大学排名发布!

    2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布<2022校友会中国大学排名-高考志愿填报指南>,连续第20年发布校友会中国大学排名,该书将由&quo ...

  5. 2021中国大学排名发布:北京大学连续14年位居榜首

    来源:艾瑞深校友会网(cuaa.net) 2021年3月25日,全国第三方大学评价机构艾瑞深校友会网(cuaa.net)正式公布<2021校友会中国大学排名-高考志愿填报指南>,最新发布校 ...

  6. python中国大学排名爬虫写明详细步骤-python网络爬虫入门实例:中国大学排名定向爬虫...

    中国大学排名定向爬虫的 设计和实现 一.环境安装: 1.选择一个适合自己的IDE(以下代码用Jupyter Notebook编写) 2.打开cmd,安装requests库和beautifulsoup4 ...

  7. python中国大学排名爬虫写明详细步骤-python中国大学排名爬虫

    python 中国大学排名爬虫 首先,给一个最好大学网URL:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html, 点击这里进入 . 功能描述 ...

  8. python中国大学排名爬虫写明详细步骤-python爬虫爬取2020年中国大学排名

    from bs4 import BeautifulSoup # 网页解析 获取数据 import re # 正则表达式 进行文字匹配 import urllib.request, urllib.err ...

  9. python中国大学排名爬虫写明详细步骤-Python爬虫 2020中国大学排名

    爬取中国大学排名 request 获取 html beautiful soup 解析网页 re 正则表达式匹配内容 新建并保存 excel 1 2 3 4 -*- codeing = utf-8 -* ...

最新文章

  1. mysql/mariadb命令如何获取帮助
  2. 区块链BaaS云服务(33)印度国家支付 Vajra Platform
  3. 解决MySQL事务未提交导致死锁报错 避免死锁的方法
  4. 亚马逊标题自动抓取_15分钟内开始使用Amazon Web Services和全自动资源调配
  5. [渝粤教育] 中国地质大学 自动控制原理 复习题 (2)
  6. matlab生成西门子plc源文件,西门子PLC如何把DB快做成源文件
  7. 深度学习attention原理_深度原理学习–Redis集群
  8. java运行时异常的特点是什么_java异常详解
  9. 理解Docker(8):Docker 存储之卷(Volume)
  10. java添加录音,大家说说java程序里怎么插入视频和音频啊
  11. honeyd蜜罐简易部署——ubuntu
  12. linux 之 查看文件夹大小(du),Linux查看文件或文件夹大小du命令
  13. 交换机下接路由器lan还是wan_无线路由器wan口未连接如何解决【解决方法】
  14. Windows系统下的mklink指令
  15. c语言计算个人所得税作业,C语言用文件计算个人所得税
  16. 西宁服务器维修,青海西宁移动DNS服务器IP地址
  17. eplan和西门子plc的对接_彻底搞定西门子1200PLC之通讯篇
  18. 00后测试员摸爬滚打近一年,为是否要转行或去学软件测试的学弟们总结出了以下走心建议
  19. 桌面linux imx6q,SAIL-IMX6Q添加qt桌面应用程序
  20. 扫地机器人腿是咕噜_智能家居 篇一:洒哇地咔钟点狗智能擦地机初步评测:试水之作 略有失望...

热门文章

  1. Endnote插入参考文献时中英文混排字体设置
  2. eclipse下载及安装
  3. ECCV2020 | SNE-RoadSeg:一种基于表面法向量提取的道路可行驶区域分割方法
  4. 讲一个我个人的故事!如何活到今天
  5. PPT如何抠图?这个操作还真没了解过
  6. 微信小程序 —— 验证码获取倒计时效果
  7. mysql 魔术设置_09年系统架构师大会中一个mysql小魔术的分析
  8. mSystems:华南农大揭示水稻SST基因调控根际微生物协同耐盐机制
  9. 三维地图php源码,Three.js实现3D地图实例分享
  10. 高精度乘法(正负数皆可(Bull Math)POJ)