Pythonは大学のランキングをよく取った.
7494 ワード
import requests
import bs4
from bs4 import BeautifulSoup
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)))
def main():
unifo = []
url = "http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html"
html = getHTMLText(url)
fillUnivList(unifo, html)
printUnivList(unifo, 20)
main()
印刷効果D:pythonSpidervenvScriptspython.exe D:/python/Spider/Spider_CNPM.pyランキング学校名総点1清華大学北京2北京大学北京3浙江大学浙江4上海交通大学上海5復旦大学上海6中国科学技術大学安徽7華中科学技術大学湖北7南京大学江蘇9中山大学広東10ハルビン工業大学黒龍江11北京航空航天大学北京12武漢大学湖北13同済大学上海14西安交通大学陝西15四川大学四川16北京理工大学北京17東南大学江蘇18南開大学天津19天津大学天津20華南理工大学広東
Process finished with exit code 0