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