根據使用場景,網絡爬蟲可分爲 通用爬蟲 和 聚焦爬蟲 兩種.
通用網絡爬蟲 是 捜索引擎抓取系統(Baidu、Google、Yahoo等)的重要組成部分。主要目的
是將互聯網上的網 頁下載到本地,造成一個互聯網內容的鏡像備份。
通用網絡爬蟲 從互聯網中搜集網頁,採集信息,這些網頁信息用於爲搜索引擎創建索
引從而提供支持,它決定着 整個引擎系統的內容是否豐富,信息是否即時,所以其性
能的優劣直接影響着搜索引擎的效果
搜索引擎如何獲取一個新網站的URL:html
搜索引擎蜘蛛的爬行是被輸入了必定的規則的,它須要聽從
一些命令或文件的內容。python
1.大多狀況下,網頁裏90%的內容對用戶來講都是無用的。正則表達式
聚焦爬蟲,是"面向特定主題需求"的一種網絡爬蟲程序,它與通用搜索引擎爬蟲的區別在
於:聚焦爬蟲在實施網頁 抓取時會對內容進行處理篩選,儘可能保證只抓取與需求相關的
網頁信息。
要學習的,就是聚焦爬蟲。數據庫
• HTTP協議-80端口
HyperTextTransferProtocol ,
超文本傳輸協議是一種發佈和接收HTML頁面的方法。
• HTTPS-443端口
HypertextTransferProtocoloverSecureSocketLayer ,
簡單講是HTTP的安全版,在HTTP下加入SSL 層。
HTTP工做原理
網絡爬蟲抓取過程能夠理解爲模擬瀏覽器操做的過程。瀏覽器
瀏覽器發送HTTP請求的過程
1.當用戶在瀏覽器的地址欄中輸入一個URL並按回車鍵以後,瀏覽器會向HTTP服務
器發送HTTP請求。HTTP請求主要分爲「Get」和「Post」兩種方法。緩存
URL
URL(Uniform/UniversalResourceLocator的縮寫):統一資源定位符,是用於完
整地描述Internet上網頁和其餘資源的地址的一種標識方法。
基本格式: scheme://host[:port#]/path/.../[?query-string][#anchor]
• query-string:參數,發送給http服務器的數據
• anchor:錨(跳轉到網頁的指定錨點位置)安全
客戶端發送一個HTTP請求到服務器的請求消息,包括如下格式:
請求方法Method
根據HTTP標準,HTTP請求可使用多種請求方法.
HTTP0.9:只有基本的文本GET功能。
HTTP1.0:完善的請求/響應模型,並將協議補充完整,定義了三種請求方法:GET,POST和HEAD方法。
HTTP1.1:在1.0基礎上進行更新,新增了五種請求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。服務器
Get 和 Post 詳解網絡
HTTP響應由四個部分組成,分別是: 狀態行 、 消息報頭 、 空行 、 響應正文python爬蟲
200: 請求成功
302: 請求頁面臨時轉移至新url
307和304: 使用緩存資源
404: 服務器沒法找到請求頁面
403: 服務器拒絕訪問,權限不夠
500: 服務器遇到不可預知的狀況
服務器和客戶端的交互僅限於請求/響應過程,結束以後便斷開,在下一次請求時,服
務器會認爲新的客戶端。爲了維護他們之間的連接,讓服務器知道這是前一個用戶發送
的請求,必須在一個地方保存客戶端的信息。
•
Cookie:經過在客戶端記錄的信
息肯定用戶的身份。
•
Session:經過在服務器端記錄
的信息肯定用戶的身份。
製做爬蟲的基本步驟
分析網頁
pic_url = re.findall('"objURL":"(.*?)",',html,re.S)
編寫爬蟲代碼