一提到python,大家經(jīng)常會(huì)提到爬蟲(chóng),爬蟲(chóng)近來(lái)興起的原因我覺(jué)得主要還是因?yàn)榇髷?shù)據(jù)的原因,大數(shù)據(jù)導(dǎo)致了我們的數(shù)據(jù)不在只存在于自己的服務(wù)器,而python語(yǔ)言的簡(jiǎn)便也成了爬蟲(chóng)工具的首要語(yǔ)言。以下是小編為你整理的python數(shù)據(jù)抓取入門教程
開(kāi)源的 ?
python是基于GPL協(xié)議的開(kāi)源編程語(yǔ)言,所有開(kāi)發(fā)人員都可以下載源代碼,也可以參與python的開(kāi)發(fā),如果遇到程序異常,也可以通過(guò)源碼去查找最終原因 ?
跨平臺(tái) ?
python和java一樣,是系統(tǒng)基于解析器執(zhí)行的,與底層系統(tǒng)無(wú)關(guān) ?
但要注意的是,python的某些庫(kù)僅提供X86架構(gòu),比如科學(xué)計(jì)算擴(kuò)展numpy,是不支持arm架構(gòu)的
?
腳本語(yǔ)言 ?
python是腳本語(yǔ)言,什么是腳本語(yǔ)言,腳本語(yǔ)言就是寫完可以直接被python執(zhí)行,與java不同的是,java寫完之后,需要編譯成二進(jìn)制的文件,才能運(yùn)行 ?
以前大家常見(jiàn)的腳本語(yǔ)言,就是按鍵精靈了 ?
腳本語(yǔ)言的優(yōu)點(diǎn) ?
假設(shè)有個(gè)已經(jīng)在使用的項(xiàng)目,需要修改其中一段代碼,java需要在源代碼修改,修改完了還要編譯,然后才替換,python直接修改就可以了,不過(guò)實(shí)際沒(méi)人會(huì)這么做,這樣之間的區(qū)別*在于調(diào)試效率上,簡(jiǎn)單說(shuō),腳本語(yǔ)言的源代碼就是程序文件 ?
腳本語(yǔ)言的缺點(diǎn) ?
運(yùn)行速度慢,這個(gè)是*的缺點(diǎn),因?yàn)閖ava是先轉(zhuǎn)換成機(jī)器可以執(zhí)行的代碼,運(yùn)行的時(shí)候直接可以執(zhí)行了,而python是需要執(zhí)行了才開(kāi)始去解析代碼,但是由于現(xiàn)在的計(jì)算機(jī)性能都比較強(qiáng)大了,這個(gè)缺點(diǎn)不是很明顯了,而且還有很多C語(yǔ)言寫的庫(kù)可以調(diào)用 ?
6 ?
開(kāi)發(fā)效率 ?
python的語(yǔ)法很簡(jiǎn)潔,這樣設(shè)計(jì)的目的就是提高開(kāi)發(fā)效率,無(wú)論是在寫代碼,還是在閱讀代碼,排查bug的時(shí)候,閱讀起來(lái)都讓你覺(jué)得很簡(jiǎn)約 ?
容易學(xué) ?
這個(gè)是重點(diǎn),對(duì)比java的上手難度低不少,如果是學(xué)個(gè)基礎(chǔ)入門,估計(jì)半個(gè)月的時(shí)間都不用,下面作者會(huì)參考相關(guān)書(shū)籍,通俗簡(jiǎn)單的更新一些python入門的教程。 ?
如何去學(xué)好它
當(dāng)初只是在學(xué)習(xí)C語(yǔ)言時(shí)偶然看到python,而同樣的功能卻只用非常少的代碼就可以實(shí)現(xiàn),讓我非常好奇,也開(kāi)始了我的python之路 ?
我的*本書(shū)籍是《A Byte of Python》,即《簡(jiǎn)明python教程》。可以說(shuō)這是一本極簡(jiǎn)的教程,如果你有其他編程語(yǔ)言的一點(diǎn)經(jīng)驗(yàn),極易上手,內(nèi)容恰到好處,但是這本非常淺顯,在*作者也指出了后續(xù)學(xué)習(xí)的建議。 ?
由于學(xué)習(xí)python時(shí),python3版本已經(jīng)出來(lái),而我為了找到*的python3新手書(shū)籍也是尋找了很久,如果說(shuō)《簡(jiǎn)明python教程》不是很適合零基礎(chǔ)的話,那么我覺(jué)得《python語(yǔ)言及其應(yīng)用》非常合適。只是簡(jiǎn)明扼要,但對(duì)于零基礎(chǔ)非常友好,也講述了python應(yīng)用的各個(gè)方向 ?
而如果想同時(shí)配合《python語(yǔ)言及其應(yīng)用》又想動(dòng)手實(shí)踐的話,那么《python編程:從入門到實(shí)踐》是你的*選擇,在*一部分中作者將動(dòng)手教你三個(gè)基本的項(xiàng)目,而值得一提是,在新手的教程時(shí),作者已經(jīng)將實(shí)現(xiàn)的思路暗含在各個(gè)基本例子中 ?
那么到現(xiàn)在我覺(jué)得入門已經(jīng)完全可以了,后續(xù)中有三種途徑,直接看官方文檔,免費(fèi)的視頻教學(xué)還有更深層次的學(xué)習(xí)書(shū)籍 ?
python學(xué)習(xí)心得
Python對(duì)電腦的配置要求如下即可:cpu i5第六代起,內(nèi)存8G起,*安裝一塊固態(tài)硬盤。比這個(gè)高當(dāng)然更好,畢竟配置越高運(yùn)行越流暢。 ?
筆記本、臺(tái)式都可以,臺(tái)式同等價(jià)格配置更高,筆記本便攜,可視情況自由選擇。
?
學(xué)習(xí)路線圖如同一本書(shū)的目錄,有了它就可以對(duì)一門語(yǔ)言有宏觀概念,學(xué)習(xí)起來(lái)更有針對(duì)性,這一點(diǎn)對(duì)零基礎(chǔ)小白尤其重要。 ?
接下來(lái),就可以按照學(xué)習(xí)路線圖的順序,按圖索驥,尋找教程了。注意一定要去去Python官網(wǎng)看看,上面很多有價(jià)值的學(xué)習(xí)資料,包括視頻、開(kāi)發(fā)文檔等。不過(guò)很多都是英文的。 ?
如果英文學(xué)習(xí)困難,也可以找中文視頻、書(shū)籍都可以,推薦視頻,更直觀更有效率。但要注意仔細(xì)甄別,盡量挑選成體系的視頻。可以加入幾個(gè)Python學(xué)習(xí)群,參考別人都學(xué)的哪些。后續(xù)學(xué)習(xí)中有了疑難問(wèn)題,也可以跟大伙討論。 ?
如何發(fā)起爬蟲(chóng)請(qǐng)求
大家知道,爬蟲(chóng)實(shí)際上就是模擬瀏覽器請(qǐng)求,然后把請(qǐng)求到的數(shù)據(jù),經(jīng)過(guò)我們的分析,提取出我們想要的內(nèi)容,這也就是爬蟲(chóng)的實(shí)現(xiàn) ?
首先,我們要寫爬蟲(chóng),可以借鑒一些工具,我們先從簡(jiǎn)單的入門,首先說(shuō)到請(qǐng)求,我們就會(huì)想到python中,非常好用的requests,然后說(shuō)到分析解析就會(huì)用到bs4,然后我們可以直接用pip命令來(lái)實(shí)現(xiàn)安裝,假如安裝的是python3,也可以用pip3 ?
安裝好這兩個(gè)類庫(kù)之后,然后我們就可以先請(qǐng)求數(shù)據(jù),查看下新聞的內(nèi)容,這個(gè)時(shí)候我們有可能看到的是亂碼 ?
怎么處理亂碼呢?我們可以拿瀏覽器打開(kāi)網(wǎng)頁(yè),右鍵查看網(wǎng)頁(yè)源代碼,我們可以看到編碼格式為utf-8 ?
然后我們?cè)谳敵龅臅r(shí)候添加編碼格式,就可以查看到正確編碼的數(shù)據(jù)了