爬取中國大學排行榜

2022-08-30 05:42:13 字數 2508 閱讀 7653

功能實現

2.輸出:大學排行資訊

所用到的庫:beaitifulsoup,requests

程式結構設計

步驟一:利用requests獲取網頁內容

步驟二:利用bs4提取網頁內容資訊到合適的資料結構

步驟三:在螢幕上列印出來

建立三個函式,將其分為三個模組。這樣能夠使**更加清晰易讀,維護方便。

函式一:gethtmltext()- 獲取網頁內容

函式二:fillunivlist()-獲取網頁大學資訊到合適的資料結構

函式三:printunivlist()-利用資料結構列印到螢幕上

下面是模板:

import

requests

from bs4 import

beautifulsoup

def gethtmltext(url): #

獲取網頁內容

return

""def fillunivlist(ulist,html): #

提取資訊,ulist列表用於儲存學校資訊,html為gethtmltext返回值

pass

def printunivlist(ulist,num): #

列印,num為要列印多少學校

print

()def

main():

url="

"html=gethtmltext(url)

ulist=

fillunivlist(ulist,html)

printunivlist(ulist,30) #

列印30所學校排名

main()

接下裡就可以按照模板寫入相應的**

import

requests

from bs4 import

beautifulsoup

import

bs4def gethtmltext(url): #

獲取網頁內容

try:

r = requests.get(url,timeout=30)

r.raise_for_status()

return

r.text

except

:

return

"獲取內容失敗。

"def fillunivlist(ulist,html): #

提取資訊,ulist列表用於儲存學校資訊,html為gethtmltext返回值

soup=beautifulsoup(html,"

html.parser

") #

將gethtmltext獲取的內容放到一鍋湯裡

for tr in soup.find('

tbody

').children:

ifisinstance(tr,bs4.element.tag):

tds=tr('td'

)def printunivlist(ulist,num): #

列印,num為要列印多少學校

print("

\t\t

".format("

排名","

學校名稱

","總分"))

for i in

range(num):

u=ulist[i]

print("

\t\t

".format(u[0],u[1],u[2]))

defmain():

url="

"html=gethtmltext(url)

ulist=

fillunivlist(ulist,html)

printunivlist(ulist,30) #

列印30所學校排名

main()

執行截圖

**缺陷

得到的結果排版不工整,於是修改函式

printunivlist(ulist,num),**如下

def

printunivlist(ulist, num):

tplt = "

\t^10}\t

"print(tplt.format("

排名","

學校名稱

","總分

",chr(12288)))

for i in

range(num):

u=ulist[i]

print(tplt.format(u[0],u[1],u[2],chr(12288)))

執行截圖

這樣就好看很多啦

中國大學教師學術水平排行榜

普通高校38所985工程大學中,有10所沒有進入教師學術水平前38名 9所211工程大學進入前38名 38個985 依次是 華東理工大學 北京化工大學 南京農業大學 首都醫科大學 華中師範大學 南京航空航天大學 東北師範大學 江南大學 中國藥科大學 華中農業大學。有1所既非985 也非211的大學進...

2023年中國大學排行榜

2004中國大學各學科前10名學校 排名 等級 校名 理學1 a 北京大學 2 a 南京大學 3 a 中國科學技術大學 4 a 浙江大學 5 a 清華大學 6 a 復旦大學 7 a 南開大學 8 a 吉林大學 9 a 中山大學 10 a 武漢大學 工學1 a 清華大學 2 a 浙江大學 3 a 上海...

爬取貓眼電影排行榜

匯入我們需要的模組 import reimport requests 一 獲取網頁內容 1 宣告目標url,就是爬取的 位址 base url 2 模仿瀏覽器 headers 3 發起請求 response requests.get base url,headers headers 4 接收響應的資...