中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

學(xué)習(xí)網(wǎng)絡(luò)爬蟲需要了解哪些知識(shí)?

2021-02-15    分類: 網(wǎng)站建設(shè)

爬蟲定義、分類和流程

爬蟲定義

網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人)就是模擬瀏覽器發(fā)送網(wǎng)絡(luò)請(qǐng)求,接收請(qǐng)求響應(yīng),一種按照一定的規(guī)則,自動(dòng)地抓取互聯(lián)網(wǎng)信息的程序。爬蟲就是模擬瀏覽器的行為,越像越好,越像就越不容易被發(fā)現(xiàn)。原則上,只要是瀏覽器(客戶端)能做的事情,爬蟲都能夠做。

爬蟲的分類

通用爬蟲:通常指搜索引擎的爬蟲

聚焦爬蟲:針對(duì)特定網(wǎng)站的爬蟲

爬蟲的用途

  • 今日頭條
  • 網(wǎng)易云音樂
  • 12306搶票
  • 網(wǎng)站自動(dòng)投票
  • 短信轟炸
  • 等等

爬蟲的流程


  1. 向起始url發(fā)送請(qǐng)求,并獲取響應(yīng)
  2. 對(duì)響應(yīng)進(jìn)行提取
  3. 如果提取url,則繼續(xù)發(fā)送請(qǐng)求獲取響應(yīng)
  4. 如果提取數(shù)據(jù),則將數(shù)據(jù)進(jìn)行保存

robots 協(xié)議

Robots 協(xié)議:網(wǎng)站通過 Robots 協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取,但它僅僅是道德層面上的約束 例如:淘寶的 robots 協(xié)議

總結(jié)

  • 爬蟲概念:模擬瀏覽器發(fā)送網(wǎng)絡(luò)請(qǐng)求,接收請(qǐng)求響應(yīng)。只要是瀏覽器(客戶端)能做的事情,爬蟲都能夠做。
  • 爬蟲的分類:聚焦爬蟲、通用爬蟲
  • 爬蟲的流程:
  1. 向起始 url 發(fā)送請(qǐng)求,并獲取響應(yīng)
  2. 對(duì)響應(yīng)進(jìn)行提取
  3. 如果提取 url,則繼續(xù)發(fā)送請(qǐng)求獲取響應(yīng)
  4. 如果提取數(shù)據(jù),則將數(shù)據(jù)進(jìn)行保存

HTTP 與 HTTPS 的概念

HTTP

概念:HTTP(超文本傳輸協(xié)議)是應(yīng)用層上的一種客戶端/服務(wù)端模型的通信協(xié)議,它由請(qǐng)求和響應(yīng)構(gòu)成,且是無狀態(tài)的。 協(xié)議:協(xié)議規(guī)定了通信雙方必須遵守的數(shù)據(jù)傳輸格式,這樣通信雙方按照約定的格式才能準(zhǔn)確的通信。 無狀態(tài):無狀態(tài)是指兩次諒解通信之間是沒有任何聯(lián)系的,每次都是一個(gè)新的連接,服務(wù)端不會(huì)記錄前后的請(qǐng)求信息。

HTTP 請(qǐng)求流程


  1. 瀏覽器通過域名解析服務(wù)器(DNS)獲取IP地址
  2. 瀏覽器先向 IP 發(fā)起請(qǐng)求,并獲取相應(yīng)
  3. 在返回的響應(yīng)內(nèi)容(html)中,會(huì)帶有 css、js、圖片等 url 地址,以及 ajax 代碼,瀏覽器按照響應(yīng)內(nèi)容中的順序依次發(fā)送其他的請(qǐng)求,并獲取相應(yīng)的響應(yīng)
  4. 瀏覽器每獲取一個(gè)響應(yīng)就對(duì)展示出的結(jié)果進(jìn)行添加(加載),js,css 等內(nèi)容會(huì)修改頁面的內(nèi)容,js也可以重新發(fā)送請(qǐng)求,獲取響應(yīng)
  5. 從獲取第一個(gè)響應(yīng)并在瀏覽器中展示,直到最終獲取全部響應(yīng),并在展示的結(jié)果中添加內(nèi)容或修改————這個(gè)過程叫做瀏覽器的渲染

五層網(wǎng)絡(luò)模型


HTTP協(xié)議結(jié)構(gòu)圖


網(wǎng)絡(luò)模型對(duì)應(yīng)關(guān)系

  1. HTTP、RTSP、FTP -------> 應(yīng)用層
  2. TCP、UDP -------> 傳輸層
  3. IP -------> 網(wǎng)絡(luò)層
  4. 數(shù)據(jù)鏈路 -------> 數(shù)據(jù)鏈路層
  5. 物理介質(zhì) -------> 物理層

url 地址格式


格式說明: scheme://host[:port]/path/…/[?query-string][#anchor]
  1. scheme:協(xié)議(例如:http, https, ftp)
  2. host:服務(wù)器的 IP 地址或者域名
  3. port:服務(wù)器的端口(如果是走協(xié)議默認(rèn)端口,缺省端口80)
  4. path:訪問資源的路徑
  5. query-string:參數(shù),發(fā)送給 http 服務(wù)器的數(shù)據(jù)
  6. anchor:錨(跳轉(zhuǎn)到網(wǎng)頁的指定錨點(diǎn)位置)

HTTP 請(qǐng)求

請(qǐng)求格式


案例


  • 請(qǐng)求方式

根據(jù) HTTP 標(biāo)準(zhǔn),HTTP 請(qǐng)求可以使用多種請(qǐng)求方法。HTTP1.0 定義了三種請(qǐng)求方法: GET, POST 和 HEAD 方法。HTTP1.1 新增了五種請(qǐng)求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

請(qǐng)求方式描述GET請(qǐng)求指定的頁面信息,并返回實(shí)體主體。HEAD類似于 get 請(qǐng)求,只不過返回的響應(yīng)中沒有具體的內(nèi)容,用于獲取報(bào)頭POST向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。POST 請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。PUT從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容DELETE請(qǐng)求服務(wù)器刪除指定的頁面。CONNECTHTTP/1.1 協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。OPTIONS允許客戶端查看服務(wù)器的性能。TRACE回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。


  • 常見請(qǐng)求頭

請(qǐng)求頭作用CookieCookieUser-Agent瀏覽器名稱Referer頁面跳轉(zhuǎn)處Host主機(jī)和端口號(hào)Connection鏈接類型Upgrade-Insecure-Requests升級(jí)為 HTTPS 請(qǐng)求Accept傳輸文件類型Accept-Encoding文件編解碼格式x-requested-with : XMLHttpRequestajax 請(qǐng)求

HTTP 響應(yīng)

  • 響應(yīng)格式

HTTP響應(yīng)也由四個(gè)部分組成,分別是:狀態(tài)行、消息報(bào)頭、空行(回車符 + 換行符)和響應(yīng)正文。

  • 響應(yīng)頭

響應(yīng)頭作用Location這個(gè)頭配合 302 狀態(tài)碼使用,告訴用戶端找誰。Set-Cookie設(shè)置和頁面關(guān)聯(lián)的 CookieContent-Type服務(wù)器通過這個(gè)頭,回送數(shù)據(jù)的類型Server服務(wù)器通過這個(gè)頭,告訴瀏覽器服務(wù)器的類型Content-Length服務(wù)器通過這個(gè)頭,告訴瀏覽器回送數(shù)據(jù)的長度Connection服務(wù)器通過這個(gè)頭,響應(yīng)完是保持鏈接還是關(guān)閉鏈接


  • HTTP 狀態(tài)碼

當(dāng)瀏覽者訪問一個(gè)網(wǎng)頁時(shí),瀏覽者的瀏覽器會(huì)向網(wǎng)頁所在服務(wù)器發(fā)出請(qǐng)求。當(dāng)瀏覽器接收并顯示網(wǎng)頁前,此網(wǎng)頁所在的服務(wù)器會(huì)返回一個(gè)包含 HTTP 狀態(tài)碼的信息頭(server header)用以響應(yīng)瀏覽器的請(qǐng)求。HTTP 狀態(tài)碼的英文為 HTTP Status Code。HTTP 狀態(tài)碼由三個(gè)十進(jìn)制數(shù)字組成,第一個(gè)十進(jìn)制數(shù)字定義了狀態(tài)碼的類型,后兩個(gè)數(shù)字沒有分類的作用。HTTP 狀態(tài)碼共分為 5 種類型

分類分類描述1**信息,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作2**成功,操作被成功接收并處理3**重定向,需要進(jìn)一步的操作以完成請(qǐng)求4**客戶端錯(cuò)誤,請(qǐng)求包含語法錯(cuò)誤或無法完成請(qǐng)求5**服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過程中發(fā)生了錯(cuò)誤

  • 常見的 HTTP 狀態(tài)碼:
  • 200 - 請(qǐng)求成功
  • 301 - 資源(網(wǎng)頁等)被永久轉(zhuǎn)移到其它 URL
  • 404 - 請(qǐng)求的資源(網(wǎng)頁等)不存在
  • 500 - 內(nèi)部服務(wù)器錯(cuò)誤

HTTPS

1- HTTP + ssl (安全套接字層),即帶有安全套接字層的超本文傳輸協(xié)議
2- 默認(rèn)端口號(hào):443

  • HTTPS 作用

在傳輸過程中對(duì)數(shù)據(jù)進(jìn)行加密,防止中間路由器、交換機(jī)等中間的路由設(shè)備對(duì)數(shù)據(jù)進(jìn)行篡改。
  • HTTP 與 HTTPS 優(yōu)缺點(diǎn)

HTTP 因?yàn)椴恍枰獙?duì)數(shù)據(jù)進(jìn)行加密所以性能更高,但是安全性差。HTTPS 雖然安全性高,但是因?yàn)闉g覽器和服務(wù)器端需要對(duì)數(shù)據(jù)進(jìn)行加解密,所以占用服務(wù)器資源。
  • 當(dāng)前形式

注意:目前 HTTPS 是未來主流,微信小程序,iOS 客戶端,android 客戶端的接口提供都需要 HTTPS 接口支持。

文章名稱:學(xué)習(xí)網(wǎng)絡(luò)爬蟲需要了解哪些知識(shí)?
分享地址:http://www.rwnh.cn/news16/101066.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站網(wǎng)站設(shè)計(jì)公司、定制開發(fā)做網(wǎng)站、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
临江市| 陆川县| 博兴县| 桐乡市| 米易县| 池州市| 抚顺市| 修水县| 大邑县| 四子王旗| 黔西| 宽城| 栖霞市| 渭南市| 金湖县| 麻江县| 瑞昌市| 新和县| 稷山县| 柳河县| 阿图什市| 汾阳市| 乌鲁木齐县| 正蓝旗| 阿坝县| 巴彦淖尔市| 瑞金市| 湘乡市| 商河县| 永年县| 嘉峪关市| 九江市| 岳普湖县| 同心县| 浦江县| 东宁县| 湘潭县| 西盟| 桂阳县| 娄底市| 宁晋县|