六星源課堂:python零基礎(chǔ)小白也能學(xué)習(xí)
在學(xué)習(xí)Python之前,我們要知道,Python的用途,學(xué)習(xí)它可以給我們帶來什么?
python主要有網(wǎng)絡(luò)爬蟲,網(wǎng)站開發(fā),人工智能,自動化運(yùn)維
在這里我們主要看一看網(wǎng)絡(luò)爬蟲,什么叫網(wǎng)絡(luò)爬蟲?
網(wǎng)絡(luò)爬蟲又稱網(wǎng)絡(luò)蜘蛛,是指按照某種規(guī)則在網(wǎng)絡(luò)上爬取所需內(nèi)容的腳本程序。眾所周知,每個網(wǎng)頁通常包含其他網(wǎng)頁的入口,網(wǎng)絡(luò)爬蟲則通過一個網(wǎng)址依次進(jìn)入其他網(wǎng)址獲取所需內(nèi)容。
爬蟲有什么用?

做垂直搜索引擎(google,baidu等).
科學(xué)研究:在線人類行為,在線社群演化,人類動力學(xué)研究,計量社會學(xué),復(fù)雜網(wǎng)絡(luò),數(shù)據(jù)挖掘,等領(lǐng)域的實證研究都需要大量數(shù)據(jù),網(wǎng)絡(luò)爬蟲是收集相關(guān)數(shù)據(jù)的利器。
偷窺,hacking,發(fā)垃圾郵件……
爬蟲是搜索引擎的第一步也是最容易的一步。
用什么語言寫爬蟲?
C,C++。高效率,快速,適合通用搜索引擎做全網(wǎng)爬取。缺點(diǎn),開發(fā)慢,寫起來又臭又長,例如:天網(wǎng)搜索源代碼。
腳本語言:Perl, Python, Java, Ruby。簡單,易學(xué),良好的文本處理能方便網(wǎng)頁內(nèi)容的細(xì)致提取,但效率往往不高,適合對少量網(wǎng)站的聚焦爬取
為什么眼下最火的是Python?
個人用c#,java都寫過爬蟲。區(qū)別不大,原理就是利用好正則表達(dá)式。只不過是平臺問題。后來了解到很多爬蟲都是用python寫的,于是便一發(fā)不可收拾。Python優(yōu)勢很多,總結(jié)兩個要點(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)頁有時候需要模擬瀏覽器的行為,很多網(wǎng)站對于生硬的爬蟲抓取都是封殺的。這是我們需要模擬user agent的行為構(gòu)造合適的請求,譬如模擬用戶登陸、模擬session/cookie的存儲和設(shè)置。在python里都有非常優(yōu)秀的第三方包幫你搞定,如Requests,mechanize
2)網(wǎng)頁抓取后的處理
抓取的網(wǎng)頁通常需要處理,比如過濾html標(biāo)簽,提取文本等。python的beautifulsoap提供了簡潔的文檔處理功能,能用極短的代碼完成大部分文檔的處理。
其實以上功能很多語言和工具都能做,但是用python能夠干得最快,最干凈。Life is short, u need python.
以上為本次分享的全部內(nèi)容,如果對編程想獲得更多了解,請前往六星源課堂,開啟你的編程之旅~?