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:
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.cn/zuihaodaxuepaiming2016.html'
html = getHTMLText(url)
fillUnivList(uinfo, html)
printUnivList(uinfo, 200)
main()
里面的磕磕绊绊:
我现在python的IDLE里面运行,一直告诉我invalid syntax,我以为是print函数什么的语法错误,一直没找到,对了,python一直很注重缩进格式,所以一定注意缩进格式以及不同版本的python 的语法格式与写法。
后来用win+r输入cmd进入命令行后运行发现,是里面的requests以及bs4是没有的,提示no module named requests,然后在命令行里面输入pip install requests它会自己下载库,输入pip install bs4,自己下载库。
然后再在命令行里面运行就好了。
在命令行里输入:
python 路径
运行结果如下:
C:\>python C:\Users\14634\Desktop\daxuepachpng.py
排名 学校名称 总分
1 清华大学 95.9
2 北京大学 82.6
3 浙江大学 80
4 上海交通大学 78.7
5 复旦大学 70.9
6 南京大学 66.1
7 中国科学技术大学 65.5
8 哈尔滨工业大学 63.5
9 华中科技大学 62.9
10 中山大学 62.1
11 东南大学 61.4
12 天津大学 60.8
13 同济大学 59.8
14 北京航空航天大学 59.6
15 四川大学 59.4
16 武汉大学 59.1
17 西安交通大学 58.9
18 南开大学 58.3
19 大连理工大学 56.9
20 山东大学 56.3
21 华南理工大学 56.2
22 吉林大学 55.7
23 厦门大学 55.4
24 北京师范大学 54.6
25 北京理工大学 53.9
26 苏州大学 53.1
27 中南大学 52.5
28 北京科技大学 52.2
29 南京航空航天大学 52
30 华东理工大学 51.9
31 湖南大学 51.4
31 中国人民大学 51.4
33 重庆大学 50.9
34 华东师范大学 50.6
35 中国地质大学(武汉) 50.4
36 西北工业大学 50.3
36 电子科技大学 50.3
38 中国农业大学 48.9
38 中国石油大学(北京) 48.9
40 北京化工大学 48.6
40 北京交通大学 48.6
42 南京理工大学 48.5
43 华北电力大学(北京) 48.2
44 北京邮电大学 48.1
45 西安电子科技大学 47.6
46 武汉理工大学 47.4
46 上海大学 47.4
48 华中师范大学 47.3
48 东北大学 47.3
50 东北师范大学 47.1
51 东华大学 47
52 福州大学 46.7
53 首都医科大学 46.5
53 兰州大学 46.5
55 江南大学 46.3
56 合肥工业大学 45.6
57 南京医科大学 45.5
58 中国海洋大学 45.3
59 中国矿业大学 45.2
60 暨南大学 44.6
61 西南大学 44.4
62 南京农业大学 44.3
62 河海大学 44.3
64 哈尔滨工程大学 44.2
65 华中农业大学 44
66 中国药科大学 43.7
67 西南交通大学 43.6
68 天津医科大学 43.3
69 西北农林科技大学 42.8
69 南京师范大学 42.8
71 西北大学 42.5
72 江苏大学 42.3
73 浙江工业大学 42.1
74 北京林业大学 42
75 南京邮电大学 41.9
75 南方医科大学 41.9
75 陕西师范大学 41.9
75 南京工业大学 41.9
79 北京工业大学 41.8
80 燕山大学 41.5
81 华南师范大学 41.4
82 河北工业大学 41.1
83 北京中医药大学 41
83 浙江师范大学 41
83 汕头大学 41
86 长安大学 40.9
87 沈阳药科大学 40.8
87 湘潭大学 40.8
89 大连海事大学 40.6
90 浙江理工大学 40.5
91 杭州师范大学 40.4
91 大连医科大学 40.4
93 河北大学 40.3
94 杭州电子科技大学 40.2
94 中央民族大学 40.2
96 安徽大学 40
97 山西大学 39.4
97 宁波大学 39.4
97 石家庄铁道大学 39.4
100 扬州大学 39.3
101 湖北大学 39.2
102 温州医科大学 39
102 河北医科大学 39
104 南京信息工程大学 38.8
104 深圳大学 38.8
104 首都师范大学 38.8
107 上海理工大学 38.7
108 太原理工大学 38.6
108 浙江工商大学 38.6
110 华侨大学 38.5
110 湖南师范大学 38.5
112 广西大学 38.3
112 上海师范大学 38.3
114 上海中医药大学 38
114 东北林业大学 38
114 武汉科技大学 38
114 东北农业大学 38
118 华南农业大学 37.9
118 辽宁大学 37.9
120 青岛大学 37.8
120 长沙理工大学 37.8
120 福建医科大学 37.8
123 河北科技大学 37.7
124 河北农业大学 37.6
124 西安建筑科技大学 37.6
124 重庆医科大学 37.6
127 广州医科大学 37.5
127 河北师范大学 37.5
129 广东工业大学 37.4
129 上海海事大学 37.4
131 南昌大学 37.3
132 渤海大学 37.2
133 青岛科技大学 37
134 西安理工大学 36.8
135 东北石油大学 36.7
135 安徽医科大学 36.7
135 黑龙江中医药大学 36.7
138 沈阳航空航天大学 36.6
139 山东财经大学 36.5
140 江苏师范大学 36.4
140 三峡大学 36.4
142 黑龙江大学 36.3
142 天津师范大学 36.3
144 长春理工大学 36
144 北京工商大学 36
146 武汉工程大学 35.9
146 天津工业大学 35.9
146 中国计量学院 35.9
149 福建师范大学 35.8
149 安徽师范大学 35.8
149 温州大学 35.8
149 山西师范大学 35.8
153 西南石油大学 35.7
154 济南大学 35.6
154 山东师范大学 35.6
156 江苏科技大学 35.5
156 郑州大学 35.5
156 浙江中医药大学 35.5
159 广州大学 35.4
160 河南大学 35.3
161 重庆邮电大学 35.2
161 辽宁工业大学 35.2
163 安徽工业大学 35.1
163 中国民航大学 35.1
163 辽宁师范大学 35.1
166 中南民族大学 35
167 上海海洋大学 34.9
167 四川农业大学 34.9
169 沈阳建筑大学 34.7
169 广西师范大学 34.7
169 河南理工大学 34.7
169 西北师范大学 34.7
169 集美大学 34.7
174 天津科技大学 34.6
175 南京中医药大学 34.5
175 湖南农业大学 34.5
175 成都理工大学 34.5
175 北方工业大学 34.5
175 海南大学 34.5
180 南通大学 34.4
180 贵州大学 34.4
180 浙江农林大学 34.4
180 云南师范大学 34.4
184 常州大学 34.3
184 北京建筑大学 34.3
184 西安邮电大学 34.3
184 宁夏大学 34.3
184 福建中医药大学 34.3
189 中北大学 34.2
189 兰州交通大学 34.2
191 内蒙古大学 34.1
191 南华大学 34.1
191 河南师范大学 34.1
191 苏州科技学院 34.1
191 大连交通大学 34.1
196 福建农林大学 34
197 陕西科技大学 33.9
197 沈阳农业大学 33.9
197 山东科技大学 33.9
200 兰州理工大学 33.8