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