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