爬蟲中國最好的大學排名

2021-09-13 10:40:56 字數 2041 閱讀 1719

爬取內容:中國最好的大學排名

輸入:大學排名網頁的url輸入

輸出:大學排名資訊的螢幕輸出

技術路線:requests,bs4

step1:從網路爬取網頁內容

step2:提取網頁資訊到合適的資料結構

step3:利用資料結構展示並輸出結果

url:

檢視robots協議:

**:

import requests

import bs4

from bs4 import beautifulsoup

def gethtmltext(url):

'''獲取網頁資訊的通用框架'''

try:

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

r.raise_for_status()

return r.text

except:

return ''

def fillunivlist(ulist,html):

soup=beautifulsoup(html,'html.parser')

# 檢查網頁**可以發現資料都儲存在tboyd標籤中,這裡需要對tbody的兒子節點進行遍歷

for tr in soup.find('tbody').children:

# 檢測標籤型別,如果不是bs4庫支援的tag型別,就過濾掉,這裡需要先導入bs4庫

if isinstance(tr,bs4.element.tag):

# 解析出tr標籤中的td標籤後,將其儲存在列表tds中

tds=tr('td')

# 我們需要的是排名、學校名稱和總分

def printunivlist(ulist,num):

#定義輸出模板為變數tplt,\t為橫向製表符,10為每列的寬度

tplt="\t^10}\t"

print(tplt.format('排名','學校名稱','總分',chr(12288))) # 表示取10位居中對齊

for i in range(num):

u=ulist[i]

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

if __name__=='__main__':

uinfo=

url=''

html=gethtmltext(url)

fillunivlist(uinfo,html)

printunivlist(uinfo,20) #列印20所學校的資訊

結果: 排名    學校名稱    總分

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

中國部分大學排名爬蟲

目標 如下 1 import requests 引入requests庫 2from bs4 import beautifulsoup 3import bs4 引入bs4庫 4def gethtmltext url 獲得網頁內容的函式 5try 6 r requests.get url,timeout...

爬蟲中國大學排名

from pip.vendor import requests print 訪問谷歌 獲取response物件 r requests.get x 1 while x 20 print 第 str x 次的返回狀態列印 str r.status code print 第 str x 次的text 列印...

Python爬蟲實現 中國最好大學排名2016

中國最好大學排名網 輸入 url,num 列印行數 輸出 三個函式 獲取原始碼 defgethtmltext url try r requests.get url,timeout 30 r.raise for status 檢查狀態是否合法 return r.text except return 返...