html = ''
獲取網頁內容
提取資料結構
展示資料結果
gethtmltext()
fillunivlist()
printunivlist()
import requests
import bs4
from bs4 import beautifulsoup
def gethtmltext(url):
try:
r = requests.get(url,timeout = 30)
r.raise_for_status()
return r.text
except:
return ""
def fillunivlist(ulist,html):
soup = beautifulsoup(html, "html.parser")
for tr in soup.find('tbody').children:
if isinstance(tr,bs4.element.tag):
tds = tr('td')
pass
def printunivlist(ulist,num): # num 學校的個數 ; 格式化輸出:format函式
print("\t\t".format("排名","學校名稱","總分"))
for i in range(num):
u=ulist[i]
print("\t\t".format(u[0],u[1],u[2]))
print("suc" + str(num))
def main():
uinfo =
url = ''
html = gethtmltext(url)
fillunivlist(uinfo,html)
printunivlist(uinfo,20) # 20 univs
main()
問題:
* 中英文不對齊:字元寬度不同
採用中文字元的空格填充chr(12288)
def printunivlist(ulist,num):
tplt = "\t^10}\t" #3指中文
print(tplt.format("排名","學校","分數",chr(12288)))
for i in range(num):
u=ulist[i]
print(tplt.format(u[0],u[1],u[2],chr(12288)))
中國最好大學排名爬取例項
從網頁上獲取html 用requests庫get方法 提取網頁內容到資料結構 比如列表 元組 字典 集合set 將處理後的資料結構展示 import requests from bs4 import beautifulsoup import bs4 defgethtmltext url try r ...
Python爬蟲實現 中國最好大學排名2016
中國最好大學排名網 輸入 url,num 列印行數 輸出 三個函式 獲取原始碼 defgethtmltext url try r requests.get url,timeout 30 r.raise for status 檢查狀態是否合法 return r.text except return 返...
python3爬蟲 中國最好大學排名
使用python的requests和beautifulsoup爬取前20個中國最好的大學,內容 於最好大學這個 不需要登陸,直接可以訪問靜態網頁內容,網頁如下 直接可以提取資訊,非常適合練習requests和beautifulsoup功能.主程式需要幾個部分組成 首先載入必要的包 import re...