目標**:
**如下:
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...