教程来自:【Python网络爬虫与信息提取】.MOOC. 北京理工大学

目标:爬取最好大学网前50名大学

代码如下:

import requests
from bs4 import BeautifulSoup
import bs4 def getHTMLText(url):
try:
r = requests.get(url,timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
print("产生异常")
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[3].string]) def printUnivList(ulist,num):
tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
print(tplt.format("排名","学校名称","总分",chr(12288)))
for i in range(num):
u = ulist[i]
print(tplt.format(u[0],u[1],u[2],chr(12288))) def main():
uinfo = []
url = 'http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html'
html = getHTMLText(url)
fillUnivList(uinfo,html)
printUnivList(uinfo,50) #20所大学 if __name__ == '__main__':
main()

教程里用的代码里没有最后两行,在pycharm里出不来结果,加上以后显示正常。需要注意if __name__ == '__main__': f后面有空格,下划线也是连着的两条。

输出结果为:

排名    	   学校名称   	    总分
1    清华大学    94.6
2    北京大学    76.5
3    浙江大学    72.9
4   上海交通大学   72.1
5    复旦大学    65.6
6  中国科学技术大学  60.9
7   华中科技大学   58.9
7    南京大学    58.9
9    中山大学    58.2
10  哈尔滨工业大学   56.7
11  北京航空航天大学  56.3
12    武汉大学    56.2
13    同济大学    55.7
14   西安交通大学   55.0
15    四川大学    54.4
16   北京理工大学   54.0
17    东南大学    53.6
18    南开大学    52.8
19    天津大学    52.3
20   华南理工大学   52.0
21    中南大学    50.3
22   北京师范大学   49.7
23    山东大学    49.1
23    厦门大学    49.1
25    吉林大学    48.9
26   大连理工大学   48.6
27   电子科技大学   48.4
28    湖南大学    48.1
29    苏州大学    47.3
30   西北工业大学   46.7
31   中国人民大学   46.1
32   华东师范大学   46.0
33  南京航空航天大学  44.8
34  对外经济贸易大学  44.7
35   南方科技大学   44.6
36   华东理工大学   44.5
37    重庆大学    44.4
38   南京理工大学   44.3
39   北京科技大学   43.9
40    东北大学    43.7
41    上海大学    43.4
42   北京邮电大学   42.9
42   上海财经大学   42.9
42   中国农业大学   42.9
45   武汉理工大学   42.8
46   北京交通大学   42.6
46   华中师范大学   42.6
48  西安电子科技大学  42.1
49   中央财经大学   41.8
50   北京化工大学   41.7

python爬取中国大学排名的更多相关文章

  1. python网络爬虫-中国大学排名定向爬虫

    爬虫定向爬取中国大学排名信息 #!/usr/bin/python3 import requests from bs4 import BeautifulSoup import bs4 #从网络上获取大学 ...

  2. Python之爬虫-中国大学排名

    Python之爬虫-中国大学排名 #!/usr/bin/env python # coding: utf-8 import bs4 import requests from bs4 import Be ...

  3. Python爬取中国天气网

    Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...

  4. 使用正则表达式和urllib模块爬取最好大学排名信息

    题目 使用urllib模块编程实现爬取网站的大学排名. (网址:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html) (1)获取网站页面,分析代 ...

  5. python爬取中国天气网站数据并对其进行数据可视化

    网址:http://www.weather.com.cn/textFC/hb.shtml 解析:BeautifulSoup4 爬取所有城市的最低天气   对爬取的数据进行可视化处理 按温度对城市进行排 ...

  6. Python爬取中国票房网所有电影片名和演员名字,爬取齐鲁网大陆所有电视剧名称

    爬取CBO中国票房网所有电影片名和演员名字 # -*- coding: utf-8 -*- # 爬取CBO中国票房网所有电影片名 import json import requests import ...

  7. python爬取中国知网部分论文信息

    爬取指定主题的论文,并以相关度排序. #!/usr/bin/python3 # -*- coding: utf-8 -*- import requests import linecache impor ...

  8. python爬取淘宝排名

    import timeimport jsonimport requestsimport xlrdimport randomimport os from xlutils.copy import copy ...

  9. Python爬取中国知网文献、参考文献、引证文献

    前两天老师派了个活,让下载知网上根据高级搜索得到的来源文献的参考文献及引证文献数据,网上找了一些相关博客,感觉都不太合适,因此特此记录,希望对需要的人有帮助. 切入正题,先说这次需求,高级搜索,根据中 ...

随机推荐

  1. Jquery 实现原理深入学习(3)

    前言 1.总体结构 √ 2.构建函数 √ 3.each功能函数实现 √ 4.map功能函数实现 √ 5.sizzle初步学习 6.attr功能函数实现 7.toggleClass功能函数实现(好伤) ...

  2. 得亏了它,我才把潜藏那么深的Bug挖出来

    2020年写了很多事故解决的文章,并不是我绞尽脑汁想出来的,而是真的遇到了这些问题.通过文章的方式记录下来,分享出去,才有意义. 事故背景 首先看下面的图吧,这是我从cat上截的图. 可以看到是一个R ...

  3. 常见WAF绕过思路

    WAF分类 0x01 云waf 在配置云waf时(通常是CDN包含的waf),DNS需要解析到CDN的ip上去,在请求uri时,数据包就会先经过云waf进行检测,如果通过再将数据包流给主机. 0x02 ...

  4. @开发者,快来申请你的工业级NXP内核物联网开发板

    米尔工业级NXP开发板试用活动(MYD-C8MMX) 不久前 米尔推出了新一代高性价比核心板之王 MYC-C8MMX核心板及开发板 获得众多客户热烈反馈 这一次 我们给各位带来福利 i.MX8M mi ...

  5. 7-44 jmu-python-区间数之和 (10 分)

    输入一个区间,计算里面能被3整除或被5整除的数和. 输入格式: 每行输入一个数据,代表区间左界和右界.区间包含左界和右界.数据必须是整数. 输出格式: 满足条件数和. 输入样例: 2 10 输出样例: ...

  6. 超详细的HDFS读写流程详解(最容易理解的方式)

    HDFS采用的是master/slaves这种主从的结构模型管理数据,这种结构模型主要由四个部分组成,分别是Client(客户端).Namenode(名称节点).Datanode(数据节点)和Seco ...

  7. C++泛化双端队列

    循环双端队列 双端队列可以在队首和队尾进行入队操作.出队操作的特殊队列. 循环双端队列是充分利用空间,使用格外的数据存储队头和队尾,这里利用数组进行实现. 循环双端队列(CircleQueue.h) ...

  8. 容器内init进程方案

    背景 进程标识符 (PID) 是Linux 内核为每个进程提供的唯一标识符.熟悉docker的同学都知道, 所有的进程 PID都属于某一个PID namespaces, 也就是说容器具有一组自己的 P ...

  9. 编写程序实现根据考试成绩将成绩分为A,B,C,D四档。

    score = float(input("请输入你的成绩:"))if 90 <= score <= 100: print("你的成绩为A档")eli ...

  10. 第四篇(1):企业常用Linux web环境安装配置(apache、php、mysql)

    上篇我们讲了基本的软件包管理和文件操作什么的,现在也要动手安装点有用的东西了吧! 本篇我会写出一个用yum安装apache.php.mysql的方法,最后再运行phpMyAdmin来管理数据库. 1. ...