Python爬蟲 中國大學排名爬蟲

2021-08-28 01:20:28 字數 3384 閱讀 8929

案例:

import requests

from bs4 import beautifulsoup

import bs4

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")

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

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

tds = tr('td')

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 清華大學 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

>>>

輸出對其優化(因為自動補充的是英文本元所以輸出顯示會不是很整齊  可以使用chr(12288)來進行中文空格填充):

import requests

from bs4 import beautifulsoup

import bs4

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")

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

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

tds = tr('td')

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)))

def main():

uinfo =

url = ''

html = gethtmltext(url)

fillunivlist(uinfo, html)

printunivlist(uinfo, 20)

main()

輸出:

排名    	   學校名稱   	    總分    

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

>>>

爬蟲中國大學排名

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之爬蟲 中國大學排名

usr bin env python coding utf 8 import bs4 import requests from bs4 import beautifulsoup 通過傳入 資訊建立乙個獲取網頁文字的函式 def gethtmltext url 判斷獲取網頁文字過程中是否有錯誤 try...

Python 中國大學排名定向爬蟲

來自於中國大學mooc北京理工大學pythont教學團隊 1.函式版 中國大學定向爬蟲 import requests from bs4 import beautifulsoup import bs4 defgethtmltext url try r requests.get url,timeout...