python3爬蟲 中國最好大學排名

2021-08-20 01:18:51 字數 2431 閱讀 7155

使用python的requests和beautifulsoup爬取前20個中國最好的大學,內容**於最好大學這個**,不需要登陸,直接可以訪問靜態網頁內容,網頁如下:

直接可以提取資訊,非常適合練習requests和beautifulsoup功能.

主程式需要幾個部分組成

首先載入必要的包

import requests

from bs4 import beautifulsoup

import bs4

gethtmltext函式:訪問網頁,得到html資訊到本地,方便下一步的處理

def gethtmltext(url):

try:

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

r.raise_for_status()#返回狀態.200為正常,如果有問題,這裡可以顯示出問題所在

return r.text

except:

return ''

fillunivlist函式,得到gethtmltext函式的html資訊,進行內容解析,將需要的內容傳送到ulist中

看網頁源**發現我們要的資訊都在tbody內的 tr標籤的td內,函式如下

def fillunivlist(ulist, html):

soup = beautifulsoup(html ,'html.parser')#用parser進行解析

for tr in soup.find('tbody').children: #在tbody內部查詢

if isinstance(tr,bs4.element.tag): #篩選標籤部分

tds = tr('td') #找到核心內容

return ulist

最後使用printunivlist函式進行列印

def printunivlist(ulist, num):

print('\t\t'.format('排名','學校名稱','總分'))

for i in range(num):

u = ulist[i]

print('\t\t'.format(u[0], u[1], u[2]))

三個函式部分都寫完了,最後使用乙個主函式進行函式連線

def main():

uinfo =

url = ''

html = gethtmltext(url)

fillunivlist( uinfo ,html)

printunivlist(uinfo, 20)

輸入main()

排名           學校名稱       總分    

1            清華大學       北京    

2            北京大學       北京    

3            浙江大學       浙江    

4           上海交通大學      上海    

5            復旦大學       上海    

6           中國科學技術大學            安徽    

7            南京大學       江蘇    

8           華中科技大學      湖北    

9            中山大學       廣東    

10          哈爾濱工業大學    黑龍江    

11           同濟大學       上海    

12           武漢大學       湖北    

13           東南大學       江蘇    

14          西安交通大學      陝西    

15          北京航空航天大學            北京    

16           南開大學       天津    

17           四川大學       四川    

18           天津大學       天津    

19          華南理工大學      廣東    

20          北京師範大學      北京 

總結:首先對url提取html資訊,第二部對html資訊提取關鍵部分,這裡需要對網頁源**進行觀察,找到提取資訊的方法,也是**的核心部分,最後進行列印.

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

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

使用python爬蟲爬取最好大學網大學排名例項

import requests from bs4 import beautifulsoup import bs4 從網路上獲取大學排名網頁內容 defgethtmltext url try r requests.get url,timeout 30 r.raise for status return...

Python爬蟲 爬取最好大學網學校資訊

首先給出 最好大學網 print 響應失敗 return def fillunivlist ulist,html soup beautifulsoup html,html.parser for tr in soup.find tbody children if isinstance tr,bs4.e...