python簡單爬蟲(中國大學排名)


 1 import requests
 2 from bs4 import BeautifulSoup
 3 import bs4
 4 
 5 def getHTMLText(url):
 6     try:
 7         r = requests.get(url, timeout=30)
 8         r.raise_for_status()
 9         r.encoding = r.apparent_encoding
10         return r.text
11     except:
12         return ""
13 
14 def fillUnivList(ulist, html):
15     soup = BeautifulSoup(html, "html.parser")
16     for tr in soup.find('tbody').children:
17         if isinstance(tr, bs4.element.Tag):
18             tds = tr('td')
19             ulist.append([tds[0].string, tds[1].string, tds[3].string])
20 
21 def printUnivList(ulist, num):
22     tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
23     print(tplt.format("排名","學校名稱","總分",chr(12288)))
24     for i in range(num):
25         u=ulist[i]
26         print(tplt.format(u[0],u[1],u[2],chr(12288)))
27     
28 def main():
29     uinfo = []
30     url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html'
31     html = getHTMLText(url)
32     fillUnivList(uinfo, html)
33     printUnivList(uinfo, 20) # 20 univs
34 main()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM