當(dāng)下全棧工程師的概念很火,而Python是一種全棧的開發(fā)語言,你如果能學(xué)好Python,那么前端,后端,測試,大數(shù)據(jù)分析,爬蟲等這些工作你都能勝任。
Python主要有以下五大主要應(yīng)用:
網(wǎng)絡(luò)爬蟲
數(shù)據(jù)分析
web開發(fā)
自動化運(yùn)維
一、網(wǎng)絡(luò)爬蟲
網(wǎng)絡(luò)爬蟲又稱網(wǎng)絡(luò)蜘蛛,是指按照某種規(guī)則在網(wǎng)絡(luò)上爬取所需內(nèi)容的腳本程序。眾所周知,每個(gè)網(wǎng)頁通常包含其他網(wǎng)頁的入口,網(wǎng)絡(luò)爬蟲則通過一個(gè)網(wǎng)址依次進(jìn)入其他網(wǎng)址獲取所需內(nèi)容。
爬蟲有什么用?
做為通用搜索引擎網(wǎng)頁收集器。(google,baidu)
做垂直搜索引擎。
科學(xué)研究:在線人類行為,在線社群演化,人類動力學(xué)研究,計(jì)量社會學(xué),復(fù)雜網(wǎng)絡(luò),數(shù)據(jù)挖掘,等領(lǐng)域的實(shí)證研究都需要大量數(shù)據(jù),網(wǎng)絡(luò)爬蟲是收集相關(guān)數(shù)據(jù)的利器。
爬蟲是搜索引擎的第一步也是最容易的一步。
為什么選Python?
Python優(yōu)勢很多,總結(jié)兩個(gè)要點(diǎn):
1)抓取網(wǎng)頁本身的接口
相比與其他靜態(tài)編程語言,如java,c#,C++,python抓取網(wǎng)頁文檔的接口更簡潔;相比其他動態(tài)腳本語言,如perl,shell,python的urllib2包提供了較為完整的訪問網(wǎng)頁文檔的API。(當(dāng)然ruby也是很好的選擇)
此外,抓取網(wǎng)頁有時(shí)候需要模擬瀏覽器的行為,很多網(wǎng)站對于生硬的爬蟲抓取都是封殺的。這是我們需要模擬user agent的行為構(gòu)造合適的請求,譬如模擬用戶登陸、模擬session/cookie的存儲和設(shè)置。在python里都有非常優(yōu)秀的第三方包幫你搞定,如Requests,mechanize
2)網(wǎng)頁抓取后的處理
抓取的網(wǎng)頁通常需要處理,比如過濾html標(biāo)簽,提取文本等。python的beautifulsoap提供了簡潔的文檔處理功能,能用極短的代碼完成大部分文檔的處理。
其實(shí)以上功能很多語言和工具都能做,但是用python能夠干得最快,最干凈。Life is short, u need python.
二、數(shù)據(jù)分析
一般我們用爬蟲爬到了大量的數(shù)據(jù)之后,我們需要處理數(shù)據(jù)用來分析,不然爬蟲白爬了,我們最終的目的就是分析數(shù)據(jù),在這方面 關(guān)于數(shù)據(jù)分析的庫也是非常的豐富的,各種圖形分析圖等 都可以做出來。也是非常的方便,其中諸如Seaborn這樣的可視化庫,能夠僅僅使用一兩行就對數(shù)據(jù)進(jìn)行繪圖,而利用Pandas和numpy、scipy則可以簡單地對大量數(shù)據(jù)進(jìn)行篩選、回歸等計(jì)算。而后續(xù)復(fù)雜計(jì)算中,對接機(jī)器學(xué)習(xí)相關(guān)算法,或者提供Web訪問接口,或是實(shí)現(xiàn)遠(yuǎn)程調(diào)用接口,都非常簡單。
三、人工智能
人工智能并不是什么新概念,其歷史已經(jīng)超過了半個(gè)世紀(jì)。在人工智能領(lǐng)域過去這幾十年的發(fā)展中,傳統(tǒng)的主流編程語言明明是 Lisp,而后起之秀也是像 Prolog 這樣的語言。但是當(dāng)這一波人工智能真正開始流行起來時(shí),人們發(fā)現(xiàn),那些流行的框架和工具,要么是用 Python 寫的,比如 Theano,要么是 C++ 寫的,但是 Python 作為接口語言,比如 TensorFlow,Caffe,MxNet 等。僅有的非 Python 框架 Torch,在 2017 年也抵不住壓力,開發(fā)了 PyTorch。
四、web開發(fā)
很多人只知道Java、PHP可做web開發(fā),但對于Python也能做web開發(fā)卻知之甚少。很多人可能不知道,Python其實(shí)是和互聯(lián)網(wǎng)一起長大的。作為動態(tài)語言,并且具有更高的抽象層次的 Python 和 Perl,很快就被開發(fā)者們發(fā)現(xiàn)更適合用于開發(fā)網(wǎng)站,并在早期互聯(lián)網(wǎng)的興起過程中發(fā)揮重要作用。
五、自動化運(yùn)維
隨著技術(shù)的進(jìn)步、業(yè)務(wù)需求的快速增長,一個(gè)運(yùn)維人員通常要管理上百、上千臺服務(wù)器,運(yùn)維工作也變的重復(fù)、繁雜。把運(yùn)維工作自動化,能夠把運(yùn)維人員從服務(wù)器的管理中解放出來,讓運(yùn)維工作變得簡單、快速、準(zhǔn)確。
其他領(lǐng)域:
1. 游戲開發(fā)
你可以用PyGame來開發(fā)游戲,但這并不是最受歡迎的游戲引擎。你可以用它來開發(fā)業(yè)余愛好項(xiàng)目,但如果你對游戲開發(fā)很認(rèn)真,建議不要選它。
我建議使用Unity的C#,這是最受歡迎的游戲引擎之一。它能讓你為許多平臺開發(fā)游戲,包括Mac、Windows、iOS和Android。
2. 桌面應(yīng)用
你可以用Python的Tkinter,但這并不是最熱門的選擇。Java,C#和C ++等語言似乎更受歡迎。
3.手機(jī)APP
python語言雖然很萬能,但用它來開發(fā)app還是顯得有點(diǎn)不對路,因此用python開發(fā)的app應(yīng)當(dāng)是作為編碼練習(xí)、或者自娛自樂所用,加上目前這方面的模塊還不是特別成熟,bug比較多,總而言之,勸君莫輕入。
-
人工智能
+關(guān)注
關(guān)注
1817文章
50105瀏覽量
265551 -
C++
+關(guān)注
關(guān)注
22文章
2124瀏覽量
77153 -
python
+關(guān)注
關(guān)注
57文章
4877瀏覽量
90078
發(fā)布評論請先 登錄
環(huán)視全景攝像頭應(yīng)用在那些場合和起到作用有哪些
求助,anologwrite和digitalwrite分別在那些情況應(yīng)用?
請問ADI的SigmaStudio應(yīng)用在那些領(lǐng)域?
CS32F030/031系列的主要應(yīng)用在那些市場
DAC的技術(shù)指標(biāo)是什么?主要應(yīng)用在哪些領(lǐng)域?
音頻創(chuàng)新技術(shù)主要應(yīng)用在哪些領(lǐng)域?
單機(jī)片運(yùn)用在那些方面呢?影響單片機(jī)晶振報(bào)價(jià)的五大要素是什么?
智能指紋鎖被廣泛應(yīng)用在那些領(lǐng)域?諾托智能鎖
python主要應(yīng)用在那些領(lǐng)域
Linux主要應(yīng)用在那些領(lǐng)域
微型電機(jī)可以應(yīng)用在那些領(lǐng)域
大數(shù)據(jù)可以應(yīng)用在那些領(lǐng)域
python主要應(yīng)用在那些領(lǐng)域
評論