Python爬蟲——爬蟲簡介

1.通訊協議

數據通訊的步驟:

  • 1.找到對方的ip
  • 2.數據發送到對方指定的應用程序上。
  • 3.定義通訊規則。

1.1 ip

  • ip:全稱Internet Protocol Address,即互聯網協議地址,是分配給用戶上網使用的網際協議的設備的數字標籤。

1.2 端口

  • 端口:在執行第二步時,爲了區別不同的應用程序,所以給這些網絡應用程序都用數字進行了標識。爲了方便稱呼這些數字,我們稱之爲"端口"。這裏的端口指的是「邏輯端口」。

1.3 通訊協議

  • 通訊協議:所謂通訊協議就是指計算機通信網絡中計算機之間進行通信所必須共同遵守的規定或規則
  • TCP/IP協議:國際組織定義的通用的通信協議
  • HTTP:又叫超文本傳輸協議,它的端口號是80

2.網絡模型

2.1 OSI模型

  • 開放式系統互聯通信參考模型,一種概念模型,由國際標準化組織提出,一個試圖使各種計算機在世界範圍內互連爲網絡的標準框架。
    在這裏插入圖片描述
層次 功能
應用層 用戶的應用程序和網絡之間的接口
表示層 協商數據交換格式,相當公司中簡報老闆、替老闆寫信的助理
會話層 允許用戶使用簡單易記的名稱建立連接,相當於公司中收寄信、寫信封與拆信封的祕書
傳輸層 提供終端到終端的可靠連接,相當於公司中跑郵局的送信職員
網絡層 使用權數據路由經過大型網絡,相當於郵局中的排序工人
數據鏈路層 決定訪問網絡介質的方式。在此層將數據分幀,並處理流控制。本層指定拓撲結構並提供硬件尋址,相當於郵局中的裝拆箱工人。
物理層 將數據轉換爲可通過物理介質傳送的電子信號 相當於郵局中的搬運工人。

2.2 TCP/IP模型

  • TCP/IP協議在一定程度上參考了OSI的體系結構,並進行了簡化。

cneter

層次 功能
應用層 應用程序間溝通
傳輸層 主要是提供應用程序間的通信
網絡層 主要定義了IP地址格式,從而能夠使得不同應用類型的數據在Internet上通暢地傳輸
網絡接口層 負責接收IP數據包並通過網絡發送之,或者從網絡上接收物理幀,抽出IP數據報,交給IP層

2.3 HTTPS

  • HTTPS是什麼:HTTPS = HTTP +SSL,即在HTTP的基礎上加上SSL保護殼,信息的加密過程就是在SSL中完成的
  • HTTPS,是以安全爲目標的HTTP通道,簡單等講就是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL
    在這裏插入圖片描述
  • SSL也是一個協議,主要用於web的安全傳輸協議

3.爬蟲簡介

3.1 什麼是爬蟲?

  • 簡單來說就是代替人去模擬瀏覽器進行網頁操作

3.2 爲什麼需要爬蟲?

  • 爲其他程序提供數據源 如搜索引擎(百度、Google等)、數據分析、大數據等

3.3 企業獲取數據的方式?

  • 1.公司自有數據,如員工信息
  • 2.第三方平臺購買的數據(百度指數、數據堂)
  • 3.爬蟲爬取的數據

3.4 Python做爬蟲的優勢

編程語言 做爬蟲特點
PHP 對多線程、異步支持不太好
Java 代碼量大,代碼笨重
C/C++ 代碼量大,難以編寫
Python 支持模塊多、代碼簡潔、開發效率高(scrapy框架)

3.5 爬蟲分類:

爬蟲分類 特點
通用網絡爬蟲 將互聯網上的網頁下載到本地數據庫,形成一個備份
聚焦網絡爬蟲 根據既定的目標有選擇地抓取某一特定主題內容
增量式網絡爬蟲 對下載網頁採取增量式的更新和只爬行新產生的或者已經發生變化的網頁爬蟲
深層網絡爬蟲 指獲取那些大部分內容不能通過靜態連接獲取、隱藏在搜索表單後的,只有用戶提交一些關鍵詞才能獲取的web網頁爬蟲 列如:用戶登錄註冊才能訪問的網頁

開始學爬蟲了,Come on!