1. 程式人生 > 其它 >程式設計(Python)實驗十五 網路爬蟲基礎 (1)

程式設計(Python)實驗十五 網路爬蟲基礎 (1)

技術標籤:Python程式設計實驗(SWUST)python正則表示式爬蟲

實驗目的

1、網路爬蟲的基本原理與規範。
2、掌握使用 Requests 庫獲取靜態網頁資訊。
3、掌握使用 BeautifulSoup4 庫解析網頁資訊。
4、掌握正則表示式的基本用法。

實驗內容

題目 中國大學排名定向爬蟲

(1) 檢視 https://www.shanghairanking.cn/rankings/bcur/2020 網頁中關於各大學排名的資訊組織(F12 快捷鍵查閱 html 程式碼)
(2)使用 requests、beautifulsoup4 或 re 庫抓取並解析排名,輸出各大學的排名資訊,如下圖所示。

在這裡插入圖片描述

程式碼

import requests
from bs4 import BeautifulSoup
import  bs4
def getHTMLText(url):
    try:
        r = requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding = 'utf-8'
        return r.text
    except:
        return ""
def fillUniviList(ulist,html):
    soup = BeautifulSoup(
html,"html.parser") for tr in soup.find('tbody').children: if isinstance(tr,bs4.element.Tag): tds = tr('td') ulist.append([tds[0].text,tds[1].text,tds[4].text]) def printUnivList(ulist,num): tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}" print(tplt.format
("排名","學校排名","總分",chr(12288))) for i in range(num): u = ulist[i] print(tplt.format(u[0].strip(),u[1].strip(),u[2].strip(),chr(12288))) def main(): uinfo = [] url = 'https://www.shanghairanking.cn/rankings/bcur/2020' html = getHTMLText(url) fillUniviList(uinfo,html) printUnivList(uinfo,20) main()