#第乙個大學
......
... .......
#第n個大學
......
... .......
import requests
from bs4 import beautifulsoup
import bs4
def gethtmltext(url): #輸入url,返回html
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
return r.text
except :
return "爬取失敗"
def fillunivlist(ulist,html): #將html頁面放到ulist列表中
soup=beautifulsoup(html,"html.parser")
for tr in soup.find('tbody').children:
if isinstance(tr,bs4.element.tag): #將tr不是tag的標籤過濾
tds=tr('td') #查tr中的td標籤
def printunivlist(ulist,num): #將ulist資訊列印出來,num為個數
print("\t\t\t".format("排名","學校名稱","省市","總分")) #列印表頭
for i in range(num):
u=ulist[i]
print("\t\t\t".format(u[0],u[1],u[2],u[3]))
if __name__=="__main__":
uinfo=
url=""
html=gethtmltext(url)
fillunivlist(uinfo,html)
printunivlist(uinfo,20) #20個學校的資訊
上述爬取結果可以看出格式不是很好對齊,進行優化
原**:
def printunivlist(ulist,num): #將ulist資訊列印出來,num為個數
print("\t\t\t".format("排名","學校名稱","省市","總分")) #列印表頭
for i in range(num):
u=ulist[i]
print("\t\t\t".format(u[0],u[1],u[2],u[3]))
優化後**:
def printunivlist(ulist,num): #將ulist資訊列印出來,num為個數
tplt="\t^10}\t\t" #^10}中的表示用format格式中的4(即第五個)引數:chr(12288)
print(tplt.format("排名","學校名稱","省市","總分",chr(12288))) #列印表頭
for i in range(num):
u=ulist[i]
print(tplt.format(u[0],u[1],u[2],u[3],chr(12288)))
優化後的結果:
爬蟲例項(中國大學排名定向排名)
功能 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入的url進行爬取,不擴充套件爬取 步驟 1.從網路上獲取大學排名網頁內容 2.提取網頁中資訊到合適的資料結構 3.利用資料結構展示並輸出結果 程式的結構設計 1.從網路上獲取大學排名網頁內...
爬蟲 中國大學排名定向爬蟲例項
最好大學排名 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入url進行爬取,不擴充套件爬取 bs4只能獲取靜態url資訊 步驟1 從網路上獲取大學排名網頁內容 定義gethtmltext 步驟2 提取網頁內容中資訊到合適的資料結構 定義fi...
中國大學排名定向爬蟲
功能描述 輸入 大學排名url鏈結 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入url進行爬取,不擴充套件爬取 程式的結構設計 步驟1 從網路上獲取大學排名網頁內容 gethtmltext 步驟2 提取網頁內容中資訊到合適的資料結構 fi...