1. 程式人生 > >python爬蟲入門教程(一):開始爬蟲前的準備工作

python爬蟲入門教程(一):開始爬蟲前的準備工作

爬蟲入門系列教程:

前言

  學習python爬蟲也有一段時間了,各種爬蟲技術多多少少也接觸過一些。因為有學弟學妹說想學爬蟲,我萌生了寫個簡單的python爬蟲教程的想法。

  一來,給學弟學妹們提供方便,提供一個入門的渠道;二來,總結這些天自身所學,希望可以藉此提高自己,加深認識;三來,如果偶爾有大佬路過,求大佬指出文中錯誤的地方,感激不盡,畢竟我也只是個菜,還菜的那麼執著= =

1.什麼是網路爬蟲

  百度百科給的介紹如下:
  

  網路爬蟲(又被稱為網頁蜘蛛,網路機器人,在FOAF社群中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻、自動索引、模擬程式或者蠕蟲。

  簡單來說,網路爬蟲就是一段程式,它模擬人類訪問網際網路的形式,不停地從網路上抓取我們需要的資料。我們可以定製各種各樣的爬蟲,來滿足不同的需求,如果法律允許,你可以採集在網頁上看到的、任何你想要獲得的資料。
  
  爬蟲是一種從網路上高速提取資料的方式(當然它也可以用作它途,如果需要的話。因為從本質上來說,它就是利用python與網站進行互動、並對網站返回的結果進行分析和處理的過程)。你可以把爬蟲想想成一個機器人(其實它就是個機器人,不過是軟體形式上的),坐在一臺電腦旁邊,不停地點開一個個網頁,從裡面複製指定文字或圖片進行儲存(假設需求就是儲存指定文字或圖片)。神奇的是,它的手速非常非常快,一陣眼花繚亂中,本地磁碟中就已經存了一大堆資料= =
  

2.網路爬蟲能做什麼

  上面說了一大堆,可能也沒說清楚爬蟲究竟是什麼。沒關係,我們舉幾個例子來看。
 
  比如,學校經常在官網上釋出一些比較重要的通知,我不想每天都花費精力去看官網,卻又想當有新通知的時候,就能知道,並看到它。
  這種時候,就需要爬蟲來幫忙咯。寫一個程式,讓它每半個小時或一個小時就去訪問一次官網,檢查有沒有新的通知,如果沒有,就什麼都不做,等待下次檢查,如果有,就將新通知從網頁中提取出來,儲存,併發郵件告訴我們通知的內容,然後繼續等待即可。

  假設,最近有點閒了,想看看電影,但又不想看爛片。於是,默默打開了豆瓣,上面有電影評分嘛,還有影評。我想要獲取所以評分在8分以上的電影名稱、簡介以及該電影的部分熱評,從中選出想看的出來。
  這個時候,一個小小的爬蟲就能輕輕鬆鬆地從一堆電影中找出符合要求的儲存下來,不用費神地一個個去瞅了。如果你還會自然語言處理和機器學習,那就更棒了,或許你可以直接對這些資料進行分析,讓程式匹配出你感興趣的電影來。(當然了,舉例子嘛,現實生活中,顯然投入和產出不成正比= =看個電影哪那麼麻煩orz)

  再比如,採集京東、淘寶的商品評論資訊啦,採集招聘網站的企業職位資訊啦,採集微博資訊啦,或者只是簡單地爬一些美女圖片啦……各種情況,採什麼,看需求吧。

3.開發爬蟲的準備工作

3.1 程式語言

  做開發嘛,首先,我們要有一門開發語言,這裡我選擇python。
  
  python是一門非常容易上手的解釋型語言,還有大量的第三方類庫,使用起來非常方便。程式語言用起來再也不用腦闊疼了,人生苦短,快用python~
  
  寫爬蟲之前,我們需要了解python的基礎語法。更深入的用法可以不用太著急去學,在使用的過程中碰到各種問題,再去學習並解決就可以了。關於python的用法,我就不寫了,網上有很多教程。這裡推薦一下廖雪峰老師的python教程,分python2.7和python3.5兩個版本,我開發使用的是2.7。
  教程連結:Python 2.7教程 Python 3.5教程

3.2 開發平臺和環境

  首先,不黑什麼平臺,但還是要說一句,就開發而言,linux比windows用起來舒服得多。Mac沒用過,不清楚,就不評論了。
  
  開發平臺,推薦linux。我使用的是ubuntu,感覺良好。不要有太大的心裡壓力,因為現在ubuntu的圖形介面做的已經很友好了,linux小白使用起來也沒什麼問題,真碰到問題再去百度或者谷歌就行了。
  
  不推薦windows的原因之一是,在windows上面,很多類庫安裝起來會非常麻煩= =而且容易碰到各種問題,相比較而言,ubuntu就省心了很多= =
  
  如果一定要用windows,並且有一臺遠端的linux主機的話,也可以考慮使用遠端的python環境來開發。這一點,如果有時間,我寫個教程吧,沒時間就算了= =大家可以搜尋一下關鍵詞pycharm 遠端除錯
  
  IDE的話,推薦使用Pycharm。 windows、linux、macos多平臺支援,非常好用,值得擁有。詳細的我就不介紹了,用一用就會了。
  pycharm的官網連結:Download PyCharm
  

4.推薦的python爬蟲學習書籍

  這裡推薦兩本很不錯的python爬蟲入門書籍:
  
  1.米切爾 (Ryan Mitchell) (作者), 陶俊傑 (譯者), 陳小莉 (譯者)的Python網路資料採集
  
  2.範傳輝 (作者)的Python爬蟲開發與專案實戰