python爬虫 2021中国大学排名定向爬虫

2023-05-16

最近的几篇博客来源是之前我下载的一个课件 

在网上搜索了一下是一下这个课程的,可以结合视频博客以及代码去更好地学习

Python网络爬虫与信息提取_北京理工大学_中国大学MOOC(慕课) (icourse163.org)

但是课程内容的案列已经很久了,很多网址已更新或者网络框架已经更新

“中国大学排名定向爬虫”实例介绍
最好大学网:【软科排名】2021年最新软科中国大学排名|中国最好大学排名 (shanghairanking.cn)
功能描述
输入:大学排名URL链接
输出:大学排名信息的屏幕输出(排名,大学名称,总分)
技术路线:requestsbs4
定向爬虫:仅对输入URL进行爬取,不扩展爬取


程序的结构设计
步骤1:从网络上获取大学排名网页内容 getHTMLText()
步骤2:提取网页内容中信息到合适的数据结构 fillUnivList()
步骤3:利用数据结构展示并输出结果 printUnivList()

可参考下列步骤,可以成功爬取到你想要的数据

1、进入 网址 ,可参考的下面的步骤,找到这些信息存储的地方:

2、在浏览器输入网址 :https://www.shanghairanking.cn/api/pub/v1/bcur?bcur_type=11&year=2020

参考博客python爬虫小案例_中国大学排名(2021.04.11)_不祈求 ~ ~-CSDN博客

看到数据是json格式

import requests
from bs4 import BeautifulSoup
import bs4
import json
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'}
url='https://www.shanghairanking.cn/api/pub/v1/bcur?bcur_type=11&year=2021'
def getHTMLText(url):
    '''从网络上获取大学排名网页内容'''
    try:
        r = requests.get(url, headers=headers,timeout=40) 
        # #如果状态不是200,就会引发HTTPError异常
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""
def fillUnivList(text, num):
    # response = requests.get(url, timeout=40)
    # text = response.text
    data = json.loads(text)
    content = data['data']['rankings']
    ulist = []
    for i in range(num):
        index = content[i]['rankOverall']
        name = content[i]['univNameCn']
        score = content[i]['score']
        category = content[i]['univCategory']
        ulist.append([index, name, score, category])
    return ulist
def printUnivList(ulist):
    # 打印前 num 名的大学
    #tplt ="{0:^10}\t{1:^10}\t{2:^10}\t{3:^10}"
    tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}\t{4:^10}"   # {1:{3}^10} 中的 {3} 代表取第三个参数
    print(tplt.format("排名 ", "学校名称", "总分", chr(12288), "类型"))  # chr(12288) 代表中文空格
    for i in range(100):
        u = ulist[i]
        # chr(12288) 代表中文空格
        print(tplt.format(u[0], u[1], u[2], chr(12288), u[3]))
if __name__ == '__main__':
    text=getHTMLText(url)
    ulist=fillUnivList(text, 100)
    printUnivList(ulist)
    

 排名     	   学校名称   	    总分    	    类型    
    1     	   清华大学   	  969.2   	    综合    
    2     	   北京大学   	  855.3   	    综合    
    3     	   浙江大学   	  768.7   	    综合    
    4     	  上海交通大学  	  723.4   	    综合    
    5     	   南京大学   	  654.8   	    综合    
    6     	   复旦大学   	  649.7   	    综合    
    7     	 中国科学技术大学 	   577    	    理工    
    8     	  华中科技大学  	  574.3   	    综合    
    9     	   武汉大学   	  567.9   	    综合    
    10    	  西安交通大学  	  537.9   	    综合    
    11    	 哈尔滨工业大学  	  522.6   	    理工    
    12    	   中山大学   	  519.3   	    综合    
    13    	  北京师范大学  	  518.3   	    师范    
    14    	   四川大学   	  516.6   	    综合    
    15    	 北京航空航天大学 	  513.8   	    理工    
    16    	   同济大学   	  508.3   	    理工    
    17    	   东南大学   	  488.1   	    综合    
    18    	  中国人民大学  	  487.8   	    综合    
    19    	  北京理工大学  	   474    	    理工    
    20    	   南开大学   	  465.3   	    综合    
    21    	   山东大学   	   447    	    综合    
    22    	   天津大学   	  444.3   	    理工    
    23    	   中南大学   	  442.2   	    综合    
    24    	   吉林大学   	  435.7   	    综合    
    25    	  西北工业大学  	  430.5   	    理工    
    26    	   厦门大学   	  427.8   	    综合    
    27    	  华南理工大学  	  419.8   	    理工    
    28    	  大连理工大学  	  418.2   	    理工    
    29    	  华东师范大学  	  401.8   	    师范    
    30    	  中国农业大学  	  400.4   	    农业    
    31    	  电子科技大学  	  398.8   	    理工    
    32    	   湖南大学   	  393.5   	    综合    
    33    	  北京科技大学  	  379.4   	    理工    
    34    	   重庆大学   	  365.5   	    综合    
    35    	 南京航空航天大学 	  358.6   	    理工    
    36    	   东北大学   	  356.1   	    理工    
    37    	  南京理工大学  	   356    	    理工    
    38    	 西安电子科技大学 	  355.1   	    理工    
    39    	   兰州大学   	  353.4   	    综合    
    40    	  北京交通大学  	  349.9   	    理工    
    41    	  南方科技大学  	  345.8   	    综合    
    42    	  华中农业大学  	  338.5   	    农业    
    43    	   上海大学   	   333    	    综合    
    44    	   苏州大学   	   327    	    综合    
    45    	  华东理工大学  	  324.5   	    理工    
    46    	  华中师范大学  	   322    	    师范    
    47    	  南京师范大学  	  321.3   	    师范    
    48    	中国地质大学(武汉)	  320.2   	    理工    
    49    	  东北师范大学  	  319.7   	    师范    
    50    	 哈尔滨工程大学  	   319    	    理工    
    51    	  西南交通大学  	   318    	    理工    
    52    	  南京农业大学  	  316.1   	    农业    
    53    	   郑州大学   	  312.8   	    综合    
    54    	  北京邮电大学  	  312.5   	    理工    
    55    	  武汉理工大学  	  312.2   	    理工    
    56    	  中国海洋大学  	   311    	    综合    
    57    	   暨南大学   	  307.4   	    综合    
    58    	中国石油大学(北京)	  307.3   	    理工    
    59    	  北京工业大学  	   306    	    理工    
    60    	   河海大学   	  303.4   	    理工    
    61    	  中国矿业大学  	  301.6   	    理工    
    62    	  北京化工大学  	  296.7   	    理工    
    63    	中国地质大学(北京)	  295.5   	    理工    
    64    	   西北大学   	   293    	    综合    
    65    	   江南大学   	  292.9   	    综合    
    66    	  上海科技大学  	  288.7   	    综合    
    67    	中国石油大学(华东)	  287.4   	    理工    
    68    	   西南大学   	  286.5   	    综合    
    69    	中国矿业大学(北京)	  285.5   	    理工    
    70    	   深圳大学   	  280.4   	    综合    
    71    	  陕西师范大学  	  280.1   	    师范    
    72    	   江苏大学   	  276.9   	    综合    
    73    	  浙江工业大学  	  275.6   	    理工    
    74    	  北京林业大学  	   275    	    林业    
    75    	  华南师范大学  	  274.7   	    师范    
    76    	 西北农林科技大学 	  273.7   	    农业    
    77    	   扬州大学   	  269.5   	    综合    
    78    	   南昌大学   	  268.9   	    综合    
    79    	   福州大学   	  267.7   	    理工    
    80    	  华北电力大学  	  263.2   	    理工    
    81    	   东华大学   	  262.8   	    理工    
    82    	  合肥工业大学  	  262.7   	    理工    
    83    	   云南大学   	  262.1   	    综合    
    84    	   宁波大学   	  261.4   	    综合    
    85    	  首都师范大学  	  261.1   	    师范    
    86    	  湖南师范大学  	  259.6   	    师范    
    87    	  南京工业大学  	  259.5   	    理工    
    88    	   长安大学   	  250.2   	    理工    
    89    	  福建师范大学  	  248.2   	    师范    
    90    	   安徽大学   	  243.1   	    综合    
    91    	 南京信息工程大学 	  240.9   	    理工    
    92    	  上海理工大学  	  240.7   	    理工    
    93    	  华南农业大学  	  238.3   	    农业    
    94    	   广西大学   	   237    	    综合    
    95    	  南京邮电大学  	  235.7   	    理工    
    95    	   燕山大学   	  235.7   	    理工    
    97    	   河南大学   	  234.6   	    综合    
    98    	   湖北大学   	  232.9   	    综合    
    99    	   广州大学   	  232.7   	    综合    
   100    	   青岛大学   	  231.4   	    综合   

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python爬虫 2021中国大学排名定向爬虫 的相关文章

随机推荐

  • Scrapy框架下载器和随机请求头

    下载器中间键可以为我们设置多个代理ip与请求头 xff0c 达到反反爬虫的目的 下面是scrapy为我们创建好的中间件的类 Process request self request spider 参数 request 发送请求的reques
  • scrapy爬取完整网页完整数据,简书(最新)

    需求 xff1a 简书网站整站爬虫 数据保存到mysql数据库中 将seleniume 43 chromedriver集成到scrapy 爬取结果如下 xff1a 安装Selenium和chromedriver xff1a https bl
  • 图和图的基本知识

    1 1 图的表示 1 2 图的特性 子图Subgraph 连通分量Connected Component 接通图Connected Graph 最短路径Shortest Path 图直径Diameter 1 3 图中心性 Centralit
  • BFS和DFS的python实现(要记住)

    BFS DFS python模板与实现 BFS模板 1 无需分层遍历 while queue 不空 xff1a cur 61 queue pop for 节点 in cur的所有相邻节点 xff1a if 该节点有效且未访问过 xff1a
  • BFS与 DFS题目练习(python)

    107 二叉树的层序遍历 II 难度中等423 给定一个二叉树 xff0c 返回其节点值自底向上的层序遍历 xff08 即按从叶子节点所在层到根节点所在的层 xff0c 逐层从左向右遍历 xff09 例如 xff1a 给定二叉树 3 9 2
  • LeetCode每日一题-合并两个有序数组

    88 合并两个有序数组 难度简单878 给你两个有序整数数组 nums1 和 nums2 xff0c 请你将 nums2 合并到 nums1 中 xff0c 使 nums1 成为一个有序数组 初始化 nums1 和 nums2 的元素数量分
  • debian 系统无声音

    系统识别了硬件 xff0c 加载了内核 可是就是没声音 在基础条件都满足的情况下 xff0c 尝试输入 xff1a sudo alsactl init 反正我是一输入声音就出来了 转载于 https my oschina net skyoo
  • 爬虫实战-爬取房天下网站全国所有城市的新房和二手房信息(最新)

    看到https www cnblogs com derek1184405959 p 9446544 html项目 xff1a 爬取房天下网站全国所有城市的新房和二手房信息和其他博客的代码 xff0c 因为网站的更新或者其他原因都不能正确爬取
  • pytorch 模型保存与加载 cpu转GPU

    model eval 的重要性 在2 中最后用到了model eval 是因为 只有在执行该命令后 34 dropout层 34 及 34 batch normalization层 34 才会进入 evalution 模态 而在 34 训练
  • 数据分析及数据分析的工作流程

    1 什么是数据分析 数据分析是根据业务问题 xff0c 对数据进行收集 xff0c 清洗 xff0c 处理和建模的过程 xff0c 用于识别有助于业务的信息 xff0c 获取关键业务结论并辅助决策 界定业务问题 xff08 以宜家为例 xf
  • SQL练习网站

    之前上过数据库的课程 xff0c 但感觉零零散散 xff0c 现在已经不记得多少 xff0c 一方面是没有总结另一方面是没有练习 https sqlbolt com 但感觉网页加载的很慢 但我发现以上两者结合起来棒棒哒 有中文 xff0c
  • SQL入门(二)查询执行顺序

    完整查询 SELECT DISTINCT column AGG FUNC column or expression FROM mytable JOIN another table ON mytable column 61 another t
  • SQL入门之基本语法

    下面是为了方便查考在GitHub上找到的一个教程 目录 开始使用 登录MySQL创建数据库创建数据库表增删改查 SELECTUPDATEINSERTDELETEWHEREAND 和 OR ANDORORDER BYINNOTUNIONASJ
  • python有向图,无向图绘制

    https www jianshu com p 52bb142314ebR语言画网络图 https blog csdn net fly hawk article details 78513257 python绘制无向图 xff0c 输入数据
  • 知识追踪待解决问题记录-交流贴

    记录遇到知识追踪的问题 xff0c 欢迎大家进行留言交流 1 DKT中的图如何画的 好像是根据这个公式 但还没画出来 2 GKT跑的效果很差 可能原因是作者对数据的特殊处理 xff0c 作者的实验数据好像不是assistment的 后面有人
  • conda安装包遇到问题An unexpected error has occurred. Conda has prepared the above report.

    之前还没问题 xff0c 现在就 base C Users wei gt conda activate tensoflow1 tensoflow1 C Users wei gt conda install seaborn Collectin
  • Requests库爬取实例

    网络爬虫的盗亦有道 网络爬虫的尺寸 爬取网页 xff0c 玩转网页 xff1a 小规模 xff0c 数据量小 xff0c 爬取速度不敏感 xff1b Requests库 爬取网站 爬取系列网站 xff1a 中规模 xff0c 数据量较大 x
  • Java8两个集合(List)取交集、并集、差集、去重并集

    Java8两个集合 List 取交集 并集 差集 去重并集 java guava 集合的操作 xff1a 交集 差集 并集 span class token keyword import span span class token name
  • XML,JSON,YAML

    信息标记的三种形式 信息的标记 xff1a 标记后的信息可形成信息组织结构 xff0c 增加了信息维度 标记后的信息可用于通信 存储和展示 标记的结构与信息一样具有重要价值标记后的信息有利于程序理解和运用 HTML的信息标记 xff1a H
  • python爬虫 2021中国大学排名定向爬虫

    最近的几篇博客来源是之前我下载的一个课件 在网上搜索了一下是一下这个课程的 xff0c 可以结合视频博客以及代码去更好地学习 Python网络爬虫与信息提取 北京理工大学 中国大学MOOC 慕课 icourse163 org 但是课程内容的