python爬蟲 開始爬蟲前的準備工作

2021-10-25 18:27:23 字數 1679 閱讀 2634

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

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

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

簡單來說,網路爬蟲就是一段程式,它模擬人類訪問網際網路的形式,不停地從網路上抓取我們需要的資料。我們可以定製各種各樣的爬蟲,來滿足不同的需求,如果法律允許,你可以採集在網頁上看到的、任何你想要獲得的資料。

爬蟲是一種從網路上高速提取資料的方式(當然它也可以用作它途,如果需要的話。因為從本質上來說,它就是利用python與**進行互動、並對**返回的結果進行分析和處理的過程)。你可以把爬蟲想想成乙個機械人(其實它就是個機械人,不過是軟體形式上的),坐在一台電腦旁邊,不停地點開乙個個網頁,從裡面複製指定文字或進行儲存(假設需求就是儲存指定文字或)。神奇的是,它的手速非常非常快,一陣眼花繚亂中,本地磁碟中就已經存了一大堆資料= =

上面說了一大堆,可能也沒說清楚爬蟲究竟是什麼。沒關係,我們舉幾個例子來看。

比如,學校經常在官網上發布一些比較重要的通知,我不想每天都花費精力去看官網,卻又想當有新通知的時候,就能知道,並看到它。

這種時候,就需要爬蟲來幫忙咯。寫乙個程式,讓它每半個小時或乙個小時就去訪問一次官網,檢查有沒有新的通知,如果沒有,就什麼都不做,等待下次檢查,如果有,就將新通知從網頁中提取出來,儲存,並發郵件告訴我們通知的內容,然後繼續等待即可。

假設,最近有點閒了,想看看電影,但又不想看爛片。於是,默默開啟了豆瓣,上面有電影評分嘛,還有影評。我想要獲取所以評分在8分以上的電影名稱、簡介以及該電影的部分熱評,從中選出想看的出來。

這個時候,乙個小小的爬蟲就能輕輕鬆鬆地從一堆電影中找出符合要求的儲存下來,不用費神地乙個個去瞅了。如果你還會自然語言處理和機器學習,那就更棒了,或許你可以直接對這些資料進行分析,讓程式匹配出你感興趣的電影來。(當然了,舉例子嘛,現實生活中,顯然投入和產出不成正比= =看個電影哪那麼麻煩orz)

做開發嘛,首先,我們要有一門開發語言,這裡我選擇python。

python是一門非常容易上手的解釋型語言,還有大量的第三方類庫,使用起來非常方便。程式語言用起來再也不用腦闊疼了,人生苦短,快用python~

寫爬蟲之前,我們需要了解python的基礎語法。更深入的用法可以不用太著急去學,在使用的過程中碰到各種問題,再去學習並解決就可以了。關於python的用法,我就不寫了,網上有很多教程。這裡推薦一下廖雪峰大大的python教程,分python2.7和python3.5兩個版本,我開發使用的是2.7,我現在換用python3啦,如果沒有特別的需求,建議新手直接從python3開始即可

這裡推薦兩本很不錯的python爬蟲入門書籍:

1.公尺切爾 (ryan mitchell) (作者), 陶俊傑 (譯者), 陳小莉 (譯者)的python網路資料採集

2.崔慶才 (作者)的python3網路爬蟲開發實戰

(深度學習python,交流學習群 467604262  全套資料分享 有興趣學習的來!)

python 從爬蟲開始(二) 簡單網路爬蟲高階

在python3中引入bs4模組和urllib,用於請求網頁和清洗資料 以上述 為例 from urllib.request import urlopen from urllib.request import request urlopen request用於請求網路資料 content urlop...

python爬蟲 非同步爬蟲

壞處 無法無限制的開啟多執行緒或者多程序。執行緒池 程序池 適當使用 使用非同步實現高效能的資料爬取操作 人多力量大 環境安裝 pip install aiohttp 使用該模組中的clientsession 2表示同時存在兩個協程 pool pool 2 urls for i in range 1...

Python爬蟲 初識爬蟲

模擬瀏覽器開啟網頁,獲取網頁中我們想要的那部分資料 瀏覽器開啟網頁的過程 當你在瀏覽器中輸入位址後,經過dns伺服器找到伺服器主機,向伺服器傳送乙個請求,伺服器經過解析後傳送給使用者瀏覽器結果,包括html,js,css等檔案內容,瀏覽器解析出來最後呈現給使用者在瀏覽器上看到的結果 瀏覽器傳送訊息給...