介绍
这篇文章将为大家详细讲解有关python如何实现爬取中国前20大学排名案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一,中国大学排名爬虫案例的步骤如下:
步骤1:从网络上获取大学排名网页内容getHTMLText ()
步骤2:提取网页内容中信息到合适的数据结构fillUnivList ()
步骤3:利用数据结构展示并输出结果printUnivList ()
实例代码
import 请求 import bs4 得到bs4 import  BeautifulSoup , def getHTMLText (url): ,,,& # 39;& # 39;& # 39;从网络上获取大学排名网页内容& # 39;& # 39;& # 39; ,,,试一试: ,,,,,,,r =, requests.get (url,超时=30) ,,,,,,,#,#如果状态不是200年,就会引发HTTPError异常 ,,,,,,,r.raise_for_status () ,,,,,,,r.encoding =r.apparent_encoding ,,,,,,,return r.text ,,,除了: ,,,,,,,return ““ , def fillUnivList (ulist, html): ,,,& # 39;& # 39;& # 39;提取网页内容中信息到合适的数据结构& # 39;& # 39;& # 39; ,,,soup =, BeautifulSoup (html、,“html.parser") ,,,#,查找html中tbody标签的所有& lt; tr>子标签 ,,,for tr 拷贝soup.find (& # 39; tbody # 39;)定格: ,,,,,,,if isinstance (tr, bs4.element.Tag):,,,,,,,,,,,, ,,,,,,,,,,,tds =, tr (& # 39; td # 39;) ,,,,,,,,,,,#,tds [0] .string 是排名,tds [1] .string 是学校名称,tds [3] .string 是学校的总分 ,,,,,,,,,,,ulist.append ([tds [0] .string,, tds [1] .string,, tds [3] .string]) , def printUnivList (ulist, num): ,,,& # 39;& # 39;& # 39;,打印前,num 名的大学& # 39;& # 39;& # 39; ,,,,,#{1:{3}^ 10},中的,{3},代表取第三个参数 ,,,tplt =,“{0: ^ 10} \ t {1: {3} ^ 10} \ t {2: 10 ^}“; ,,,print (tplt.format(“排名“,“学校名称“,“总分“,科(12288))),#,(12288),从而向代表中文空格 ,,,for 小姐:拷贝范围(num): ,,,,,,,u=ulist[我] ,,,,,,,印刷(tplt.format (u[0],[1],[2],科(12288))),#,(12288),从而向代表中文空格 , def main (): ,,,uinfo =, [] ,,,url =, & # 39; http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html& # 39; ,,,html =, getHTMLText (url) #,获取大学排名网页内容 ,,,fillUnivList (uinfo, html) #提取网页内容中信息,,, ,,,printUnivList (uinfo, 20), #输出结果 , main ()
结果如下
关于python如何实现爬取中国前20大学排名案例就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。