1. 程式人生 > >Python爬蟲:學爬蟲前得了解的事兒

Python爬蟲:學爬蟲前得了解的事兒

編寫 election 檢查 語言 jpg mage 圖片 一個 網頁

這是關於Python的第14篇文章,主要介紹下爬蟲的原理。

提到爬蟲,我們就不得不說起網頁,因為我們編寫的爬蟲實際上是針對網頁進行設計的。解析網頁和抓取這些數據是爬蟲所做的事情。

對於大部分網頁來講,它的代碼構成主要包括三種語言:HTML、CSS、JavaScript,我們在爬取數據的時候大部分是從HTML和CSS中爬取。

那麽,接下來在學爬蟲前我們得了解點下面這些事兒。

首先,需要了解客戶端與服務器的交換機制。

我們每次在訪問頁面時,實際上都是在向服務器發起請求,我們稱之為request;服務器接到請求後,會給我們一個回應,稱為response;這兩種行為結合起來,即HTTP協議。

技術分享

也就是說,HTTP協議是我們的客戶端(網頁)與服務器會話的一種方式。

在向服務器請求時,request主要包含了8種方法,get、post、head、put、options、connect、trace和delete,我們大多數時候使用到get方法即可,後續在實戰操作中會詳細展開。

Response是服務器回應給我們的信息。當我們以request向服務器發出請求時,服務器會返回給我們所要的信息。

其次,認識網頁的基本構成

一個網頁主要由三個部分構成,頭部(header)、主體內容(content)和底部(footer)。

我們可以隨便打開一個網頁,比如PMCAFF的精選頁:http://www.pmcaff.com/site/selection,用Google瀏覽器打開,仔細觀察,它是由頂部的導航欄、logo等構成header,中間的文章為content,下面的合作夥伴等構成footer。

然後,我們單擊右鍵選擇【檢查】,可以看到該頁面的源代碼,仔細觀察下,常用的標簽至少包含下面這幾個:

  • <div>...</div> 分區
  • <li>...</li> 列表
  • <p>...</p> 段落
  • <h1>...</h1> 標題
  • <img src = " "> 圖片
  • <a href = " ">...</a> 鏈接

最後,在爬蟲前,我們需要學會解析網頁。

那麽,關於如何去解析網頁,我們需要學會使用beautifulsoap。

具體內容將在下一篇的實戰中詳細講解,用request+beautifulsoap來爬取真實網頁的數據。

操作環境:Python版本,3.6;PyCharm版本,2016.2;電腦:Mac

----- End -----

作者:杜王丹,微信公眾號:杜王丹,互聯網產品經理。

技術分享

Python爬蟲:學爬蟲前得了解的事兒