最近开始学习爬虫,在自己的这双笨拙的手一行一行的敲打出代码,完成了一个简单的实例,突然有了想写博客的冲动,便急急忙忙的去申请.......这才有了这篇随笔。
中国大学排名url:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html
所要用到的python库:Requests bs4
获取网址内容
1 def getHtmlText(url):
2 try:
3 r = r.requests.get(url,timeout = 30)
4 r.rasise_for_status()
5 r.encoding = r.apparent.encoding
6 return r.text
7 except:
8 print('获取网址错误')
知识兔提取网页内容存放到合适的数据结构
1 import bs4
2
3 def fillRankList(ulist,demo):
4 soup = BeautifulSoup(demo,'html.parser')
5 for tr in soup.find('tbody').children:
6 if isinstence(tr,bs4.element.Tag):
7 tds = tr('td') #tr是一行,td是行中的列,相当于tds = tr.find_all('td')
8 ulist.extend([tds[0].string,tds[1].string,tds[2].string,tds[3].string])
知识兔打印排名
1 def printRankList(ulist,num):
2 print("{:^10}\t{:^6}\t{:^10}\t{:^6}".format('排名‘,’学校名称‘,’省份‘,‘总分’)
3 for i in range(num):
4 u = ulist[i]
5 print("{:^10}\t{:^6}\t{:^10}\t{:^6}".format(u[0],u[1],u[2],u[3]))
知识兔主程序
1 imort Request
2 import bs4
3
4 def mian():
5 Ulist = []
6 url = "http://zuihaodaxue.cn/zuihaodaxuepaiming2019.html"
7 demo = getHtmlText(url)
8 fillRankList(Ulist,demo)
9 printRankList(Ulist,20)
知识兔