python爬蟲 學習1

2022-08-23 11:03:11 字數 1542 閱讀 2143

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