爬蟲(又稱為網頁蜘蛛,網路機械人,在 foaf 社群中間,更經常的稱為網頁追逐者);它是一種按照一定的規則,自動地抓取網路資訊的程式或者指令碼。
如果我們把網際網路比作一張大的蜘蛛網,那一台計算機上的資料便是蜘蛛網上的乙個獵物,而爬蟲程式就是乙隻小蜘蛛,他們沿著蜘蛛網抓取自己想要的獵物/資料。
網頁的請求和響應方式是 request 和 response
request:使用者將自己的資訊通過瀏覽器(socket client)傳送給伺服器(socket server)
瀏覽器在接收 response 後,會解析其內容來顯示給使用者,而爬蟲程式在模擬瀏覽器傳送請求然後接收 response 後,是要提取其中的有用資料。
1、發起請求:request
請求的發起是使用 http 庫向目標站點發起請求,即傳送乙個request
request物件的作用是與客戶端互動,收集客戶端的 form、cookies、超連結,或者收集伺服器端的環境變數。
request 物件是從客戶端向伺服器發出請求,包括使用者提交的資訊以及客戶端的一些資訊。客戶端可通過 html 表單或在網頁位址後面提供引數的方法提交資料。
然後伺服器通過 request 物件的相關方法來獲取這些資料。request 的各種方法主要用來處理客戶端瀏覽器提交的請求中的各項引數和選項。
request 包含:請求 url、請求頭、請求體等
request 請求方式:get/post
請求頭:user-agent:請求頭中如果沒有 user-agent 客戶端配置,服務端可能將你當做乙個非法使用者;
cookies:cookie 用來儲存登入資訊
2、獲取響應內容
爬蟲程式在傳送請求後,如果伺服器能正常響應,則會得到乙個response,即響應;
import requests
request_headers=,headers=request_headers) #params內部就是呼叫urlencode
response 響應後會返回一些響應資訊,例下:
1、響應狀態
2、respone header
3、preview 是網頁源**
3、解析內容
解析 html 資料:解析 html 資料方法有使用正規表示式、第三方解析庫如 beautifulsoup,pyquery 等
解析 json 資料:解析 json資料可使用 json 模組
解析二進位制資料:以 b 的方式寫入檔案
4、儲存資料
爬取的資料以檔案的形式儲存在本地或者直接將抓取的內容儲存在資料庫中,資料庫可以是 mysql、mongdb、redis、oracle 等……
爬蟲的總流程可以理解為:蜘蛛要抓某個獵物-->沿著蛛絲找到獵物-->吃到獵物;即爬取-->解析-->儲存;
Python爬蟲工具的選擇建議
對於剛入門的小白不知道用什麼樣的ide去開發python程式,開發工具有兩大類文字工具類ide和整合工具類ide。1.對於剛入門的小白來說,建議使用idle來進行 的編寫。idle是python自帶的,預設的,常用的,也是入門級別的程式設計工具,適合python入門,功能簡單直接,300 以內。2....
Python小爬蟲 案例詳解
python爬取 指定內容 下面的 中有詳細注釋,每個方法下都有解釋說明方法的用途,包括 coding utf 8 引入用於爬蟲的乙個包urllib2 import urllib2 引入正規表示式的包 import re def loadpage url 對爬蟲進行偽裝,並爬取乙個頁面的所有內容 瀏...
Python 網路爬蟲入門詳解!!
說明 並非是最優 但程式完全正確!因為此時作者也處在學習階段!1 抓取網頁 2 採集資料 3 資料處理 4 提供檢索服務 http協議和抓包工具 http服務埠是80埠 https服務埠號是443埠,https協議實在http協議上加入了ssl層,進行了加密 url 統一資源定位符 組成部分 sch...