18 「中國大學排名定向爬蟲」例項介紹

2022-08-18 07:39:19 字數 1983 閱讀 4476

一、功能描述及程式設計

二、**實現

1

"""中國大學排名定向爬蟲例項介紹

"""2

3import

requests

4from bs4 import

beautifulsoup

5import

bs4678

defgethtmltest(url):910

try:

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

12r.raise_for_status()

14return

r.text

15except:16

return

"gethtmltest錯誤"17

1819

deffillunivlist(ulist, html):

2021 soup = beautifulsoup(html, "

html.parser")

22for tr in soup.find('

tbody

').children:23#

判斷標籤是否為bs4.element.tag

24if

isinstance(tr, bs4.element.tag):

25 tds = tr('td'

)26#獲得每乙個td標籤的string值

2829

30def

printunivlist(ulist, num):

3132

print("

\t\t\t

".format("

排名", "

學校名稱

", "

省市", "總分"

))33

for i in

range(num):

34 u =ulist[i]

35print("

\t\t\t

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

3637

38if

__name__ == "

__main__":

39 uinfo =

40 url = "

"41 html =gethtmltest(url)

42fillunivlist(uinfo, html)

43 printunivlist(uinfo, 20) #

20代表輸出學校數

三、對輸出函式優化

1、問題原因

2、解決方法:

填充時指定用中文字元進行填充,chr(12288)為中文空格

def

printunivlist2(ulist, num):

#定義乙個輸出模板

tplt = "

\t^10}\t\t"#

代表用第4個值填充

print(tplt.format("

排名", "

學校名稱

", "

省市", "

總分", chr(12288))) #

chr(12288)代表中文空格

for i in

range(num):

u =ulist[i]

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

中國大學排名定向爬蟲例項

第乙個大學 第n個大學 import requests from bs4 import beautifulsoup import bs4 def gethtmltext url 輸入url,返回html try r requests.get url,timeout 30 r.raise for st...

爬蟲例項(中國大學排名定向排名)

功能 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入的url進行爬取,不擴充套件爬取 步驟 1.從網路上獲取大學排名網頁內容 2.提取網頁中資訊到合適的資料結構 3.利用資料結構展示並輸出結果 程式的結構設計 1.從網路上獲取大學排名網頁內...

爬蟲 中國大學排名定向爬蟲例項

最好大學排名 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入url進行爬取,不擴充套件爬取 bs4只能獲取靜態url資訊 步驟1 從網路上獲取大學排名網頁內容 定義gethtmltext 步驟2 提取網頁內容中資訊到合適的資料結構 定義fi...