python 파충류 학습 의 방향 은 중국 대학 순위 에 올 랐 다.

3351 단어
python 파충류 학습 의 방향 은 중국 대학 순위 에 올 랐 다.
입력: 대학 url 링크 출력: 대학 순위 의 스크린 출력 (순위, 이름, 소재 성) 기술 노선: requests - bs4 방향 파충류, 확장 되 지 않 음 획득
1. 타당 성 분석 2. 프로그램 구조 디자인
STEP 1: 대학 순위 웹 페이지 내용 getHTMLText () 를 인터넷 에서 가 져 오기 2: 웹 페이지 내용 에서 정 보 를 추출 하여 적합 한 데이터 구조 fillUnivList () 단계 3: 데이터 구 조 를 이용 하여 결 과 를 보 여주 고 출력 printUnivList ()
import requests
from bs4 import BeautifulSoup
import bs4

def getHTMLText(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        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')
            ulist.append([tds[0].string, tds[1].string, tds[2].string])



def printUnivList(ulist,num):
    tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
    print(tplt.format("  ","    ","  ",chr(12288)))
    for i in range(num):
        u = ulist[i]
        print(tplt.format(u[0],u[1],u[2],chr(12288)))

    print("Suc"+str(num))


def main():
    uinfo = []
    url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html"
    html = getHTMLText(url)
    fillUnivList(uinfo, html)
    printUnivList(uinfo, 20) # 20 universities

main()

중국어 문자 와 영문 문자 출력 에 대한 정렬 문제
중국어 와 영어 가 차지 하 는 문자 의 길이 가 다 르 기 때문에 채 울 때 채 우기 가 어렵 습 니 다. 중국어 로 채 우기 문자: chr (12288) tplt = "{0: ^ 10} \ t {1: {3} ^ 10} \ t {2: ^ 10}" print (tplt. format ("순위", "학교 이름", "총 점", chr (12288)))

좋은 웹페이지 즐겨찾기