python爬蟲輸出格式問題

2021-09-11 14:50:19 字數 1610 閱讀 5088

最近學了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 來格式...