中国大学排名爬虫

Posted niuyiming7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中国大学排名爬虫相关的知识,希望对你有一定的参考价值。

1.这方面的知识掌握不是很熟练,根据教员讲解和课本,试着模仿着做了中国大学排名爬虫

2.代码如下

import request
from bs4 import BeautifulSoup
allUniv=[]
def gethtmlText(url):
try:
r=request.get(url,timeout=30)
r.raise_for_status()
r.encoding = ‘utf-8‘
return r.txt
except:
return ‘ERROR‘
def fillUnivList(soup):
data = soup.find_all(‘tr‘)
for tr in data:
ltd = tr.data_all(‘td‘)
if len(ltd)==0:
continue
singleUniv=[]
for td in ltd:
singleUniv.append(td.string)
allUniv.append(singleUnive)
def printUnivList(num):
print("{:^4}{:^10}{:^5}{:^8}{:^10}".format("排名","学校名称","省市","总分","培养规模"))
for i in range(num):
u=allUniv[i]
print("{:^4}{:^10}{:^5}{:^8}{:^10}".format(u[0],u[1],u[2],u[3],u[6]))
def main(num):
url=‘http://www.zuihaodaxue.cn/
zuihaodaxuepaiming2019.html‘
html = getHTMLText(url)
soup = BeautifulSoup(html,"html.parser")
fillUnivList(soup)
printUnivList(num)
main(10)

3.结果

       排名    学校名称                        省市          总分      培养规模   

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
4.开始用python生成图像
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif‘]=[‘SimHei‘]
plt.rcParams[‘axes.unicode_minus‘]=False
df=pd.read_excel(‘‘1")
x=df[‘学校名称‘]
y=df[‘总分‘]
plt.bar(x,y,label=‘分数‘)
plt.xlabel(‘学校‘)
plt.ylabel(‘分数‘)
plt.legend()
plt.show()
 

 

以上是关于中国大学排名爬虫的主要内容,如果未能解决你的问题,请参考以下文章

爬虫 中国大学排名

中国大学排名爬虫

中国大学排名定向爬虫

中国大学排名定向爬虫

中国大学排名爬虫

中国大学排名爬虫