1效果圖如下:import
requests
2from bs4 import
beautifulsoup
3import
bs44
defgethtmltext(url): #獲取html內容,利用try和except框架可以丟擲異常
5try
:6 r = requests.get(url,timeout=30) #獲取url,時間限制為30秒
7r.raise_for_status() #檢查連線狀態是否為200,即正常連線,如果為否則丟擲except異常
9return
r.text #返回為html的內容
10except
: 11
return
''12
1314
deffillunivlist(ulist,html): #解析html內容,提取所需資料 ulist是乙個空列表,用來訪問解析出來的所需資料
15 soup = beautifulsoup(html,'
html.parser
') #利用beautifulsoup的html.parser來解析r.text
16for tr in soup.find('
tbody
').children: #通過分析發現所需排序,學校名稱,總分存在於tbody標籤類的tr標籤中的td標籤 .children是查詢tbody的子類
17if
isinstance(tr,bs4.element.tag): #因為tr標籤包含其他string,而我們所需要的只是bs4.element.tag標籤型別,所以用isinstance(obj,class)作乙個判斷
18 tds = tr('td'
) #若判斷為真則 執行查詢tr標籤中的td標籤,並賦值給tds
2021
defprintunivlist(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
28def
main(): #定義乙個主函式,實現具體抓取並輸出
29 uinfo =
30 url = '
'31 html =gethtmltext(url)
32fillunivlist(uinfo,html)
33 printunivlist(uinfo,20)
3435 main()
python爬蟲學習筆記(1)
2.parse模組 遇到了問題 本人使用了anaconda3中的python3環境,進行爬蟲的環境為anaconda中的spyder,使用anaconda具體詳細原因及安裝教程可見 anaconda3詳細安裝使用教程及問題總結 request就是請求的意思,主要用於url資訊的請求 import u...
Python網路爬蟲學習(1)
使用python爬取amazon上的商品資訊 簡單使用beautifulsoup 以下內容是根據mooc課程 python網路爬蟲與資訊提取 北京理工大學 的第一周和第二週第一單元的部分學習記錄。path root my url.split 1 以名字儲存 r requests.get my url...
Python 爬蟲學習筆記1
urllib模組 urllib.requests 開啟和讀取urls urllib.error 包含urllib.requests 產生的常見錯誤,使用try捕捉 urllib.parse 包含即係url方法 urllib.robotparse 解析robots.txt檔案 網頁編碼問題解決 cha...