中國部分大學排名爬蟲

2021-08-20 07:56:32 字數 2022 閱讀 6031

目標**:

**如下:

1

import requests#

引入requests庫

2from bs4 import

beautifulsoup

3import bs4#

引入bs4庫

4def gethtmltext(url):#

獲得網頁內容的函式

5try

:6 r=requests.get(url,timeout=30)#

得到網頁內容

7 r.raise_for_status()#

來產生異常資訊,在方法內部判斷r.status_code是否等於200,不需要增加額外的if語句,該語句便於利用try-except進行異常處理

修改編碼

9return r.text#

返回文字類

10except:11

return

""12

13def fillunivlist(ulist,html):#

將頁面放到乙個列表中的函式

14 soup = beautifulsoup(html,"

html.parser

")#煲湯....

15for tr in soup.find('

tbody

').children:#

遍歷查詢tbody標籤

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

型別判斷,如果不是tag型別,將被過濾

17 tds = tr('

td')#

將td標籤存為乙個列表型別tds

增加對應字段

1920

21def printunivlist(ulist,num):#

輸出列印函式,格式化輸出

22print("

\t\t

".format("

排名","

學校名稱

","總分

"))#

列印表頭

23for i in range(num):#

採用迴圈實現

24 u=ulist[i]

25print("

\t\t

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

2627

def writetxt(ulist,num):#

儲存到txt檔案,e盤下自動生成中國大學排名的txt檔案

28 with open('

e:中國大學排名.txt

','a

',encoding='

utf-8

') as f:

29for i in

range(num):

30 u=ulist[i]

31 f.write("

\t\t

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

32 f.write('\n'

)33f.close()

3435

36def main():#

主函式37 uinfo = #

列表38 url = '

'#給定鏈結

39 html=gethtmltext(url)

40fillunivlist(uinfo,html)

41 printunivlist(uinfo,310)

42 writetxt(uinfo,310)

43 main()

結果如下:

第一次寫的爬蟲,留作紀念

爬蟲中國大學排名

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

案例 import requests from bs4 import beautifulsoup import bs4 def gethtmltext url 爬取最好大學排名 內容 try r requests.get url,timeout 30 r.raise for status retur...

大學排名爬蟲

import requests import re import bs4 from bs4 import beautifulsoup 提交url獲得html頁面 def gethtmltext url try r requests.get url,timeout 30 r.raise for sta...