2018全国最好大学排行榜(添加了省份)

落伍的勇士 发表于2018年10月16日
<p><code class="brush:python;toolbar:false" >import&nbsp;requests from&nbsp;bs4&nbsp;import&nbsp;BeautifulSoup import&nbsp;bs4 def&nbsp;getHTMLText(url): &nbsp;&nbsp;&nbsp;&nbsp;try: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;=&nbsp;requests.get(url) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r.raise_for_status() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r.encoding&nbsp;=&nbsp;r.apparent_encoding &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;r.text &nbsp;&nbsp;&nbsp;&nbsp;except: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'' def&nbsp;fillUnivList(ulist,html): &nbsp;&nbsp;&nbsp;&nbsp;soup&nbsp;=&nbsp;BeautifulSoup(html,&quot;html.parser&quot;) &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;tr&nbsp;in&nbsp;soup.find('tbody').children: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;isinstance(tr,bs4.element.Tag): &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tds&nbsp;=&nbsp;tr('td') &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulist.append([tds[0].string,tds[1].string,tds[2].string,tds[3].string]) def&nbsp;printUnivList(ulist,num): &nbsp;&nbsp;&nbsp;&nbsp;tplt&nbsp;=&nbsp;'{0:^10}\t{1:{4}^10}\t{2:{4}^10}\t{3:^10}' &nbsp;&nbsp;&nbsp;&nbsp;print(tplt.format('排名','学校名称','省份','总分',chr(12288))); &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i&nbsp;in&nbsp;range(num): &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;u&nbsp;=&nbsp;ulist[i] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(tplt.format(u[0],u[1],u[2],u[3],chr(12288))) def&nbsp;main(): &nbsp;&nbsp;&nbsp;&nbsp;uinfo&nbsp;=&nbsp;[] &nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;=&nbsp;'https://www.zuihaodaxue.com/zuihaodaxuepaiming2018.html' &nbsp;&nbsp;&nbsp;&nbsp;html=&nbsp;getHTMLText(url) &nbsp;&nbsp;&nbsp;&nbsp;fillUnivList(uinfo,html) &nbsp;&nbsp;&nbsp;&nbsp;printUnivList(uinfo,len(uinfo)) main()</code>写了一个可以按省份查询的一个排名</p><p><code class="brush:python;toolbar:false" >import&nbsp;requests from&nbsp;bs4&nbsp;import&nbsp;BeautifulSoup import&nbsp;bs4 import&nbsp;re def&nbsp;getHTMLText(url): &nbsp;&nbsp;&nbsp;&nbsp;try: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;=&nbsp;requests.get(url) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r.raise_for_status() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r.encoding&nbsp;=&nbsp;r.apparent_encoding &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;r.text &nbsp;&nbsp;&nbsp;&nbsp;except: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'' def&nbsp;fillUnivList(ulist,html,prov): &nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;=&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;soup&nbsp;=&nbsp;BeautifulSoup(html,&quot;html.parser&quot;) &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;tr&nbsp;in&nbsp;soup.find('tbody').children: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;isinstance(tr,bs4.element.Tag): &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tds&nbsp;=&nbsp;tr('td') &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;prov&nbsp;in&nbsp;tds[2].string: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;+=&nbsp;1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulist.append([count,tds[1].string,tds[2].string,tds[3].string]) def&nbsp;printUnivList(ulist,num): &nbsp;&nbsp;&nbsp;&nbsp;tplt&nbsp;=&nbsp;'{0:^10}\t{1:{4}^10}\t{2:{4}^10}\t{3:^10}' &nbsp;&nbsp;&nbsp;&nbsp;print(tplt.format('排名','学校名称','省份','总分',chr(12288))); &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i&nbsp;in&nbsp;range(num): &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;u&nbsp;=&nbsp;ulist[i] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(tplt.format(u[0],u[1],u[2],u[3],chr(12288))) def&nbsp;main(): &nbsp;&nbsp;&nbsp;&nbsp;uinfo&nbsp;=&nbsp;[] &nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;=&nbsp;'https://www.zuihaodaxue.com/zuihaodaxuepaiming2018.html' &nbsp;&nbsp;&nbsp;&nbsp;html=&nbsp;getHTMLText(url) &nbsp;&nbsp;&nbsp;&nbsp;fillUnivList(uinfo,html,'河北') &nbsp;&nbsp;&nbsp;&nbsp;printUnivList(uinfo,len(uinfo)) main()</code></p><p><img src="//nos.netease.com/edu-image/98b50610-77fc-40dd-b66a-6c8925cacd9f.png" /></p>
1 回复