十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
今天小編給大家分享一下怎么用python爬取世界大學(xué)排行數(shù)據(jù)的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為瀾滄企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,瀾滄網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
創(chuàng)新互聯(lián)建站2013年至今,先為枝江等服務(wù)建站,枝江等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為枝江企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
我們這里選取的就是上海交通大學(xué)的 ARWU 網(wǎng)站
該網(wǎng)站包含了歷年的大學(xué)分?jǐn)?shù)以及排名情況。
通過分析頁(yè)面可以發(fā)現(xiàn),通過 pandas 的 read_html 函數(shù)來獲取相關(guān)信息是最為方便的
table = pd.read_html(url)
college = table[0]
同時(shí)我們還發(fā)現(xiàn),大學(xué)所對(duì)應(yīng)的國(guó)家數(shù)據(jù)是圖片,所以需要特殊處理下
def get_country_name(html):
soup = BeautifulSoup(html,'lxml')
countries = soup.select('td > a > img')
lst = []
for i in countries:
src = i['src']
pattern = re.compile('flag.*/(.*?).png')
country = re.findall(pattern,src)[0]
lst.append(country)
return lst
最后我們把得到的數(shù)據(jù)進(jìn)行下處理,去除掉不需要的字段,再增加年份字段等
for i in range(2005, 2020):
print('year', i)
url = 'http://www.shanghairanking.com/ARWU%s.html' % i
html = requests.get(url).content
table = pd.read_html(url)
college = table[0]
college.columns = ['world rank','university', 2,3, 'score', 5]
college.drop([2,3,5],axis = 1,inplace = True)
college['year'] = i
college['index_rank'] = college.index
college['index_rank'] = college['index_rank'].astype(int) + 1
college['country'] = get_country(html)
college.to_csv(r'College.csv', mode='a', encoding='utf_8_sig', header=True, index=0)
這樣,我們就得到了 College.csv 文件
以上就是“怎么用python爬取世界大學(xué)排行數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。