第一章 爬蟲介紹
第一章 爬蟲介紹
1.通訊協議
1.1埠
資料通訊分為三步
IP
協議
埠
1.2通訊協議
TCP/IP協議
TCP/IP協議是共同遵守的規定或規則
HTTP
HTTP又叫超文字傳輸協議(是一種通訊協議) HTTP它的埠80
2.網路模型
參考模型
osi參考模型
應用層
應用層是直接面向使用者的一層,使用者的通訊內容要由應用程式解決。
表示層
表示層為在應用過程之間傳送的資訊提供表示方法的服務。
會話層
會話層在應用程式中建立、管理和終止會話。會話層還可以通過對話控制來決定使用何種通訊方式,全雙工通訊或半雙工通訊。
傳輸層
傳輸層主要為使用者提供End—to—End(端到端)服務處理資料包錯誤、資料包次序等傳輸問題。
網路層
網路層是以路由器為最高節點俯瞰網路的關鍵層
資料鏈路層
資料鏈路層為網路層提供差錯控制和流量控制服務,傳輸單位為幀。
物理層
物理層的主要功能是利用傳輸介質為資料鏈路層提供物理聯接,單位位元流,既0和1.
TCP/IP參考模型
應用層
應用層為使用者提供所需要的各種服務
FTP
Telnet
DNS
SMTP
傳輸層
兩個主要的協議
傳輸控制協議(TCP)
TCP協議提供的是一種可靠的、通過“三次握手”來連線的資料傳輸服務
使用者資料包協議(UDP)
UDP協議提供的則是不保證可靠的(並不是不可靠)、無連線的資料傳輸服務.
網路層(網際互聯層)
該層有三個主要協議
網際協議(IP)
網際網路組管理協議(IGMP)
網際網路控制報文協議(ICMP)
主機至網路層(網路接入層(即主機-網路層))
網路接入層與OSI參考模型中的物理層和資料鏈路層相對應。它負責監視資料在主機和網路之間的交換。
2.1 HTTPS是什麼呢?
https=http+ssl,顧名思義,https是在http的基礎上加上了SSL保護殼,資訊的加密過程就是在SSL中完成的,https,是以安全為⽬標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加⼊SSL層,HTTPS的安全基礎是SSL
2.2 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頁面。例如使用者註冊才能訪問的頁面。
4.幾個概念
4.1GET和POST
GET
查詢引數會在URL上顯示出來
POST
查詢引數和需要提交資料是隱藏在Form表單裡的,不會在URL地址上顯示出來
4.2 URL組成部分
url
統一資源定位符
例子:https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
https協議
new.qq.com:主機名,在qq.com域名下
port埠號80:在域名後面,通常省略
後面是資源訪問路徑
#anchor 錨點:用來定位頁面元素的
瀏覽器在訪問時都會對url進行編碼,全部使用%加16進位制編碼
4.3 User-Agent 使用者代理
用來記錄使用者的瀏覽器和作業系統,為了讓使用者獲得更好的HTML效果
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Win64
windows64位系統
like Gecko
屬於火狐核心 Mozilla Firefox:(Gecko核心)
Chrome/78.0.3904.108
谷歌瀏覽器和型號
4.4 Refer
表明當前的請求時從那個URL過來的,一般情況下可以用來做反扒的技術
4.5 狀態碼
200 : 請求成功
301 : 永久重定向
例如 www.jingdong.com,他會直接跳轉到www.jd.com
302 : 臨時重定向
403 : 伺服器拒絕請求
404 : 請求失敗,伺服器無法根據客戶端的請求找到資源(網頁)
500 : 伺服器內部請求
5.抓包工具
Elements
元素網頁原始碼,提取資料和分析資料(有些資料是經過特殊處理的所以並不是都是準確的)
Console
控制檯 (列印資訊)
Sources
資訊來源 (整個網站站載入的檔案)
NetWork
網路工作(資訊抓包) 能夠看到很多的網頁請求
歡迎加入python資料分析、爬蟲學習討論群,一起自學一起進步。
相關文章
- 爬蟲介紹爬蟲
- Python爬蟲教程-01-爬蟲介紹Python爬蟲
- Python爬蟲教程-34-分散式爬蟲介紹Python爬蟲分散式
- Python爬蟲教程-30-Scrapy 爬蟲框架介紹Python爬蟲框架
- puppeteer介紹(一)爬蟲,效能,注入爬蟲
- Java爬蟲入門(一)——專案介紹Java爬蟲
- 爬蟲代理 Scrapy 框架詳細介紹 2爬蟲框架
- Python爬蟲教程-32-Scrapy 爬蟲框架專案 Settings.py 介紹Python爬蟲框架
- python爬蟲:爬蟲的簡單介紹及requests模組的簡單使用Python爬蟲
- 爬蟲開發python工具包介紹 (2)爬蟲Python
- 爬蟲入門第一章爬蟲
- 爬蟲與反爬蟲技術簡介爬蟲
- 通用新聞爬蟲開發系列(專案介紹)爬蟲
- 想成為Python高手,必須看這篇爬蟲原理介紹!(附29個爬蟲專案)Python爬蟲
- 常見的反爬蟲措施與應對方法介紹爬蟲
- Python中爬蟲模組有哪些?優缺點介紹!Python爬蟲
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲
- 第一章 :Git 介紹Git
- 介紹一款能取代 Scrapy 的 Python 爬蟲框架 - feapderPython爬蟲框架
- 爬蟲利器Pyppeteer的介紹和使用 爬取京東商城書籍資訊爬蟲
- 【爬蟲】第一章-Web基礎知識爬蟲Web
- 使用 nodejs 寫爬蟲(-): 常用模組介紹和前置JS語法NodeJS爬蟲
- Python爬蟲教程-07-post介紹(百度翻譯)(上)Python爬蟲
- Python爬蟲教程-08-post介紹(百度翻譯)(下)Python爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- 精通比特幣(第一章)【介紹】比特幣
- 第一章---資料庫介紹資料庫
- 爬蟲第一章 資料提取與清洗策略爬蟲
- Anaconda的開發環境介紹以及簡單爬蟲的應用開發環境爬蟲
- 基於大型語言模型爬蟲專案Crawl4AI介紹模型爬蟲AI
- Python爬蟲教程-21-xpath 簡介Python爬蟲
- Python爬蟲教程-20-xml 簡介Python爬蟲XML
- Python爬蟲教程-04-response簡介Python爬蟲
- 爬蟲工程師的入門簡介爬蟲工程師
- 爬蟲:多程式爬蟲爬蟲
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- 【譯】WebSocket協議第一章——介紹(Introduction)Web協議
- 通用爬蟲與聚焦爬蟲爬蟲