中国大学排名数据获取
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
中国大学排名数据获取相关推荐
- 最新!2022中国大学排名发布!
Datawhale发布 来源:艾瑞深校友会网,编辑:学术君.CVer 2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布<2022校友会中国大学排名-高考志愿 ...
- 最新!2022中国大学排名发布
来源 | 艾瑞深校友会网 编辑 | 学术君 2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布<2022校友会中国大学排名-高考志愿填报指南>,连续第2 ...
- 2021,软科中国大学排名新鲜出炉!清华、北大、浙大位居前三!
"软科中国大学排名",前身是"软科中国最好大学排名", 自2015年首次发布以来,以专业.客观.透明的优势赢得了高等教育领域内外的广泛关注和高度认可,已经成为具 ...
- 最新:2022校友会中国大学排名发布!
2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布<2022校友会中国大学排名-高考志愿填报指南>,连续第20年发布校友会中国大学排名,该书将由&quo ...
- 2021中国大学排名发布:北京大学连续14年位居榜首
来源:艾瑞深校友会网(cuaa.net) 2021年3月25日,全国第三方大学评价机构艾瑞深校友会网(cuaa.net)正式公布<2021校友会中国大学排名-高考志愿填报指南>,最新发布校 ...
- python中国大学排名爬虫写明详细步骤-python网络爬虫入门实例:中国大学排名定向爬虫...
中国大学排名定向爬虫的 设计和实现 一.环境安装: 1.选择一个适合自己的IDE(以下代码用Jupyter Notebook编写) 2.打开cmd,安装requests库和beautifulsoup4 ...
- python中国大学排名爬虫写明详细步骤-python中国大学排名爬虫
python 中国大学排名爬虫 首先,给一个最好大学网URL:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html, 点击这里进入 . 功能描述 ...
- python中国大学排名爬虫写明详细步骤-python爬虫爬取2020年中国大学排名
from bs4 import BeautifulSoup # 网页解析 获取数据 import re # 正则表达式 进行文字匹配 import urllib.request, urllib.err ...
- python中国大学排名爬虫写明详细步骤-Python爬虫 2020中国大学排名
爬取中国大学排名 request 获取 html beautiful soup 解析网页 re 正则表达式匹配内容 新建并保存 excel 1 2 3 4 -*- codeing = utf-8 -* ...
最新文章
- mysql/mariadb命令如何获取帮助
- 区块链BaaS云服务(33)印度国家支付 Vajra Platform
- 解决MySQL事务未提交导致死锁报错 避免死锁的方法
- 亚马逊标题自动抓取_15分钟内开始使用Amazon Web Services和全自动资源调配
- [渝粤教育] 中国地质大学 自动控制原理 复习题 (2)
- matlab生成西门子plc源文件,西门子PLC如何把DB快做成源文件
- 深度学习attention原理_深度原理学习–Redis集群
- java运行时异常的特点是什么_java异常详解
- 理解Docker(8):Docker 存储之卷(Volume)
- java添加录音,大家说说java程序里怎么插入视频和音频啊
- honeyd蜜罐简易部署——ubuntu
- linux 之 查看文件夹大小(du),Linux查看文件或文件夹大小du命令
- 交换机下接路由器lan还是wan_无线路由器wan口未连接如何解决【解决方法】
- Windows系统下的mklink指令
- c语言计算个人所得税作业,C语言用文件计算个人所得税
- 西宁服务器维修,青海西宁移动DNS服务器IP地址
- eplan和西门子plc的对接_彻底搞定西门子1200PLC之通讯篇
- 00后测试员摸爬滚打近一年,为是否要转行或去学软件测试的学弟们总结出了以下走心建议
- 桌面linux imx6q,SAIL-IMX6Q添加qt桌面应用程序
- 扫地机器人腿是咕噜_智能家居 篇一:洒哇地咔钟点狗智能擦地机初步评测:试水之作 略有失望...
热门文章
- Endnote插入参考文献时中英文混排字体设置
- eclipse下载及安装
- ECCV2020 | SNE-RoadSeg:一种基于表面法向量提取的道路可行驶区域分割方法
- 讲一个我个人的故事!如何活到今天
- PPT如何抠图?这个操作还真没了解过
- 微信小程序 —— 验证码获取倒计时效果
- mysql 魔术设置_09年系统架构师大会中一个mysql小魔术的分析
- mSystems:华南农大揭示水稻SST基因调控根际微生物协同耐盐机制
- 三维地图php源码,Three.js实现3D地图实例分享
- 高精度乘法(正负数皆可(Bull Math)POJ)