最近學了python的爬蟲爬取中國大學排名,然後輸出格式對不齊真是為難我這個強迫症患者了。所以經過我的一番努力(隨便瞎搞),終於!
話不多說,上**!**內容有註解。那個chr(12288)指的是按照中文空格縮排。然後tqlt中的是指按照foemat的第5個引數縮排(不知道是不是這樣,但我是這麼理解的)。如果不做處理,預設按照英文縮排,但我們大中國字和英語佔位不一樣嘛。
# 列印中國大學排名
from bs4 import beautifulsoup
import requests
import bs4
import re
def gethtmltext(url): #獲得頁面資訊
try:
r = requests.get(url, timeout = 30) #用request庫抓取頁面
r.raise_for_status() #判斷是否成功抓取頁面 返回值為200為成功
return r.text #返回頁面文字資訊
except:
return "" #若抓取頁面有問題返回空值
def fillunivlist(ulist, html): #訪問有用資訊
soup = beautifulsoup(html, "html.parser") #用beautiful庫獲得頁面html資訊
for tr in soup.find('tbody').children: #找到tbody的子孫tr然後遍歷
if isinstance(tr, bs4.element.tag): #判斷是不是標籤
tds = tr('td') #在tr標籤資訊中找到到td標籤並且存入tds
pass
def printunivlist(ulist, num): #列印資訊函式
tqlt = "\t^10}\t^10}\t"
print(tqlt.format("排名","學校名稱","省市","分數", chr(12288))) #列印表頭 前面是格式 後面是內容
for i in range(num): #迴圈num次獲得學校信
u = ulist[i] #把ulist的內容暫時放入u中
#if(u[2] == "黑龍江"): #篩選黑龍江大學
print(tqlt.format(u[0], u[1], u[2], u[3], chr(12288))) #列印u中的資訊
print("suc" + str(num))
def main():
uinfo =
url = "" #**資訊
html = gethtmltext(url) #獲取頁面資訊
fillunivlist(uinfo, html) #把html中的資訊摘取
printunivlist(uinfo, 20) #列印20個學校排名
main()
這就是執行結果啦啦啦啦是不是很整齊哈哈哈 Python的輸出格式
一.基本的輸出方式 1.用加號連線字串 a this is a b python program print a b 輸出 this is apython program 用加號連線時,兩個字串之間無縫銜接。注意 只能用於連線字串和字串,不能用於連線字串和數字。a this is a b 78 pr...
Python 輸出格式 學習小結
bu.xing 利用現代手段,建立學習家園 關注他 1 人贊同了該文章 我們常說的輸出格式分兩種含義 一種是指資料在螢幕上的顯示位置,包括對齊 換行 隔行等 一種是指資料自身以什麼格式輸出,包括進製型別 有效數字 小數保留位等 預設狀態不帶引數則以空格填充 文字元號數 空格字元數 輸出字元數 pri...
Python輸出格式全總結
在python語言程式設計中,我們會與字串打交道,那務必會輸出字串來檢視字串的內容,python中控制字串格式通常有兩種方法,一種是使用 另一種是使用format 方法。用 來格式化字串是繼承c語言的用法,而python語言更高階的字串格式化方法是format 官方也更加推薦使用format 來格式...