一、功能描述及程式設計
二、**實現
1三、對輸出函式優化"""中國大學排名定向爬蟲例項介紹
"""2
3import
requests
4from bs4 import
beautifulsoup
5import
bs4678
defgethtmltest(url):910
try:
11 r = requests.get(url, timeout=30)
12r.raise_for_status()
14return
r.text
15except:16
return
"gethtmltest錯誤"17
1819
deffillunivlist(ulist, html):
2021 soup = beautifulsoup(html, "
html.parser")
22for tr in soup.find('
tbody
').children:23#
判斷標籤是否為bs4.element.tag
24if
isinstance(tr, bs4.element.tag):
25 tds = tr('td'
)26#獲得每乙個td標籤的string值
2829
30def
printunivlist(ulist, num):
3132
print("
\t\t\t
".format("
排名", "
學校名稱
", "
省市", "總分"
))33
for i in
range(num):
34 u =ulist[i]
35print("
\t\t\t
".format(u[0], u[1], u[2], u[3]))
3637
38if
__name__ == "
__main__":
39 uinfo =
40 url = "
"41 html =gethtmltest(url)
42fillunivlist(uinfo, html)
43 printunivlist(uinfo, 20) #
20代表輸出學校數
1、問題原因
2、解決方法:
填充時指定用中文字元進行填充,chr(12288)為中文空格
defprintunivlist2(ulist, num):
#定義乙個輸出模板
tplt = "
\t^10}\t\t"#
代表用第4個值填充
print(tplt.format("
排名", "
學校名稱
", "
省市", "
總分", chr(12288))) #
chr(12288)代表中文空格
for i in
range(num):
u =ulist[i]
print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))
中國大學排名定向爬蟲例項
第乙個大學 第n個大學 import requests from bs4 import beautifulsoup import bs4 def gethtmltext url 輸入url,返回html try r requests.get url,timeout 30 r.raise for st...
爬蟲例項(中國大學排名定向排名)
功能 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入的url進行爬取,不擴充套件爬取 步驟 1.從網路上獲取大學排名網頁內容 2.提取網頁中資訊到合適的資料結構 3.利用資料結構展示並輸出結果 程式的結構設計 1.從網路上獲取大學排名網頁內...
爬蟲 中國大學排名定向爬蟲例項
最好大學排名 輸出 大學排名資訊的螢幕輸出 排名,大學名稱,總分 技術路線 requests bs4 定向爬蟲 僅對輸入url進行爬取,不擴充套件爬取 bs4只能獲取靜態url資訊 步驟1 從網路上獲取大學排名網頁內容 定義gethtmltext 步驟2 提取網頁內容中資訊到合適的資料結構 定義fi...