不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇python全棧學(xué)校排名,就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來(lái)告訴你這個(gè)專業(yè)的優(yōu)勢(shì)到底體現(xiàn)在哪里:Python爬蟲(chóng)教程:爬取800多所*學(xué)校排名、星級(jí)等,python爬蟲(chóng)爬取2020年**排名(預(yù)祝各位考生考上心儀*),【慕課網(wǎng)就業(yè)班】python工程師課后學(xué)習(xí)分享??。
前言國(guó)內(nèi)**排名,北大反超,浙大僅第四,中科大跌至第八時(shí)隔五年,“雙一流”*即將迎來(lái)首次大考,這也是繼改變高校評(píng)斷標(biāo)準(zhǔn)之后,*次即將以官方對(duì)外發(fā)布,自然是引來(lái)了許多人的關(guān)注。最近,有許多不同機(jī)構(gòu)發(fā)布的國(guó)內(nèi)高校排名,但彼此之間的差異很大,網(wǎng)友之間的爭(zhēng)議也很大。項(xiàng)目目標(biāo)爬取高三網(wǎng)*排名,并保存目標(biāo)網(wǎng)址 3.6 pycharm爬蟲(chóng)代碼導(dǎo)入工具import requests import parsel import csv請(qǐng)求網(wǎng)頁(yè)數(shù)據(jù)url = ' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) /537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } response = requests.get(url=url, headers=headers) response.encoding = response.apparent_encoding爬取數(shù)據(jù)selector = parsel.Selector(response.text) trs = selector.css('#page tr') for tr in trs: dit = {} ranking = tr.css('td:nth-child(1)::text').get() dit['名次'] = ranking school = tr.css('td:nth-child(2)::text').get() dit['學(xué)校名稱'] = school score = tr.css('td:nth-child(3)::text').get() dit['綜合得分'] = score star = tr.css('td:nth-child(4)::text').get() dit['星級(jí)排名'] = star level = tr.css('td:nth-child(5)::text').get() dit['辦學(xué)層次'] = level csv_writer.writerow(dit)保存數(shù)據(jù)f = open('排名.csv', mode='a', encoding='utf-8', newline='') csv_writer = csv.(f, =['名次', '學(xué)校名稱', '綜合得分', '星級(jí)排名', '辦學(xué)層次']) f.close()運(yùn)行代碼,效果如下圖
前言本文的文字及圖片來(lái)源于網(wǎng)絡(luò),僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途今天發(fā)的是python爬蟲(chóng)爬取**排名,并且保存到excel中,當(dāng)然這個(gè)代碼很簡(jiǎn)單,我用了半小時(shí)就寫(xiě)完了,我的整體框架非常清晰,可以直接拿去用,也希望有小白可以學(xué)習(xí)到關(guān)于爬蟲(chóng)的一些知識(shí)爬取**排名request 獲取 html beautiful soup 解析網(wǎng)頁(yè) re 正則表達(dá)式匹配內(nèi)容 新建并保存 excel from bs4 import # 網(wǎng)頁(yè)解析 獲取數(shù)據(jù) import re # 正則表達(dá)式 進(jìn)行文字匹配 import urllib.request, urllib.error # 制定url 獲取網(wǎng)頁(yè)數(shù)據(jù) import xlwt def main(): baseurl = " # 1爬取網(wǎng)頁(yè) datalist = getData(baseurl) savepath = "**排名.xls" saveData(datalist,savepath) # 正則表達(dá)式 paiming = re.compile(r'<td>(.*)</td><td>.*</td><td>.*</td><td>.*</td><td>.*</td>') # 創(chuàng)建超鏈接正則表達(dá)式對(duì)象,表示字符串模式,規(guī)則 xuexiao = re.compile(r'<td>.*</td><td>(.*)</td><td>.*</td><td>.*</td><td>.*</td>') defen = re.compile(r'<td>.*</td><td>.*</td><td>(.*)</td><td>.*</td><td>.*</td>') xingji = re.compile(r'<td>.*</td><td>.*</td><td>.*</td><td>(.*)</td><td>.*</td>') cengci = re.compile(r'<td>.*</td><td>.*</td><td>.*</td><td>.*</td><td>(.*)</td>') # 爬取網(wǎng)頁(yè) def getData(baseurl): datalist = [] html = askURL(baseurl) # 保存獲取到的網(wǎng)頁(yè)源碼 # print(html) #【逐一】解析數(shù)據(jù) (一個(gè)網(wǎng)頁(yè)就解析一次) soup = (html, "html.parser") # soup是解析后的樹(shù)形結(jié)構(gòu)對(duì)象 for item in soup.find_all('tr'): # 查找符合要求的字符串形成列表 # print(item) #測(cè)試查看item全部 data = [] # 保存一個(gè)學(xué)校的所有信息 item = str(item) #排名 paiming1 = re.findall(paiming, item) # re正則表達(dá)式查找指定字符串 0表示只要*個(gè) 前面是標(biāo)準(zhǔn)后面是找的范圍 # print(paiming1) if(not paiming1): pass else: print(paiming1[0]) data.append(paiming1) if(paiming1 in data): #學(xué)校名字 xuexiao1 = re.findall(xuexiao, item)[0] # print(xuexiao1) data.append(xuexiao1) #得分 defen1 = re.findall(defen, item)[0] # print(defen1) data.append(defen1) #星級(jí) xingji1 = re.findall(xingji, item)[0] # print(xingji1) data.append(xingji1) #層次 cengci1 = re.findall(cengci, item)[0] # print(cengci1) data.append(cengci1) # print('-'*80) datalist.append(data) # 把處理好的一個(gè)學(xué)校信息放入datalist中 return datalist # 得到指定一個(gè)url網(wǎng)頁(yè)信息內(nèi)容 def askURL(url): # 我的初始訪問(wèn)user agent head = { # 模擬瀏覽器頭部信息,向豆瓣服務(wù)器發(fā)送消息 偽裝用的 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) /537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36" } # 用戶代理表示告訴豆瓣服務(wù)器我們是什么類型的機(jī)器--瀏覽器 本質(zhì)是告訴瀏覽器我們可以接受什么水平的文件內(nèi)容 request = urllib.request.Request(url, headers=head) # 攜帶頭部信息訪問(wèn)url # 用request對(duì)象訪問(wèn) html = "" try: response = urllib.request.urlopen(request) # 用urlopen傳遞封裝好的request對(duì)象 html = response.read().decode("utf-8") # read 讀取 可以解碼 防治亂碼 # print(html) except urllib.error.URLError as e: if hasattr(e, "code"): print(e.code) # 打印錯(cuò)誤代碼 if hasattr(e, "reason"): print(e.reason) # 打印錯(cuò)誤原因 return html # 3保存數(shù)據(jù) def saveData(datalist, savepath): book = xlwt.Workbook(encoding="utf-8", style_=0) # 創(chuàng)建workbook對(duì)象 樣式壓縮效果 sheet = book.add_sheet('**排名', cell_overwrite_ok=True) # 創(chuàng)建工作表 一個(gè)表單 cell覆蓋 for i in range(0, 640): print("第%d條" % (i + 1)) data = datalist[i] # print(data) for j in range(0, 5): # 每一行數(shù)據(jù)保存進(jìn)去 sheet.write(i , j, data[j]) # 數(shù)據(jù) book.save(savepath) # 保存數(shù)據(jù)表 #主函數(shù) if __name__ == "__main__": # 當(dāng)程序執(zhí)行時(shí) # #調(diào)用函數(shù) 程序執(zhí)行入口 main() # init_db("movietest.db") print("爬取完畢!") 具體實(shí)現(xiàn)效果如下 一共600多條數(shù)據(jù)
時(shí)間過(guò)的太快,不注意已經(jīng)在慕課網(wǎng)學(xué)習(xí)了4個(gè)月,突發(fā)奇想分享自己的學(xué)習(xí)經(jīng)歷,也許能給想報(bào)名慕課網(wǎng)就業(yè)班的同學(xué)一些借鑒。我是純小白轉(zhuǎn)行來(lái)學(xué)習(xí)的,買(mǎi)的是慕課網(wǎng)《python工程師》就業(yè)班體系課,在報(bào)名前我糾結(jié)是報(bào)線上還是線下,*錢(qián)包替我做了決定,選了慕課網(wǎng)。起初,我最擔(dān)心的是0基礎(chǔ)到底能不能跟上,雖然詳情頁(yè)介紹是0基礎(chǔ)可學(xué),但心里打鼓。學(xué)了一周之后,才逐漸放心,這門(mén)課確實(shí)如評(píng)價(jià)所說(shuō)淺顯易懂,而且還會(huì)列舉很多例子讓我們更好的理解。基礎(chǔ)階段我是利用上班空余時(shí)間學(xué)習(xí)的,學(xué)的比較輕松??赡芤彩亲约呵捌谔潘闪耍谥虚g階段出現(xiàn)數(shù)據(jù)庫(kù)應(yīng)用、爬蟲(chóng)應(yīng)用等,因?yàn)槲彝度氲臅r(shí)間不夠,這段時(shí)間對(duì)我來(lái)說(shuō)學(xué)的有點(diǎn)吃力,還好我及時(shí)穩(wěn)住了心態(tài),加大了學(xué)習(xí)時(shí)間和練習(xí)量,遇到問(wèn)題課后馬上咨詢,也慢慢跟上了節(jié)奏,在這里再次感謝慕課網(wǎng)就業(yè)班的教學(xué)服務(wù)。現(xiàn)在在學(xué)到了flask全棧項(xiàng)目實(shí)戰(zhàn),目前感覺(jué)還可以,有難度但是不難理解,大部分知識(shí)都是對(duì)前期技術(shù)點(diǎn)的靈活運(yùn)用。我的學(xué)習(xí)感受總體是:課程質(zhì)量好評(píng),老師也很有耐心。最重要的是肯花時(shí)間,多敲多練。*祝我和各位小伙伴都能找到好工作,哈哈。
就拿大數(shù)據(jù)說(shuō)話,優(yōu)勢(shì)一目了然,從事IT行業(yè),打開(kāi)IT行業(yè)的新大門(mén),找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專業(yè)和系統(tǒng)的學(xué)習(xí)。
只要一個(gè)電話
我們免費(fèi)為您回電