爬蟲理論

什么是爬蟲:

爬蟲就是一段自動(dòng)抓取互聯(lián)網(wǎng)的程序和腳本

網(wǎng)頁(yè)的三大特性:

1戳晌、任何網(wǎng)頁(yè)都有自己的唯一的URL地址(統(tǒng)一資源定位符)
2谤专、網(wǎng)頁(yè)都是通過HTML(超文本)來展示數(shù)據(jù)的
3、網(wǎng)頁(yè)都是通過HTTP/HTTPS(超文本傳輸協(xié)議)來傳輸HTML的

爬蟲的基本使用步驟:

1鳖宾、尋找目標(biāo)的URL(統(tǒng)一資源定位器)肖爵,然后發(fā)起請(qǐng)求
2舔哪、獲取響應(yīng)結(jié)果锻离,之后分析結(jié)果
3铺峭、從響應(yīng)結(jié)果中提取我們所需要的數(shù)據(jù)
(1)、從網(wǎng)頁(yè)中提取目標(biāo)數(shù)據(jù)
(2)汽纠、如果還有新的url地址卫键,則提取,繼續(xù)發(fā)起請(qǐng)求
4虱朵、所有的目標(biāo)url都請(qǐng)求完畢后莉炉,爬蟲結(jié)束

數(shù)據(jù)用途:

1、爬取數(shù)據(jù)后自己寫個(gè)網(wǎng)站
2碴犬、日常數(shù)據(jù)分析

爬蟲的分類:(通用爬蟲絮宁、聚焦爬蟲)

通用爬蟲:

是搜索引擎的重要組成部分

作用:

通過分詞,去噪等進(jìn)行頸處理服协,處理后進(jìn)行數(shù)據(jù)的持久化绍昂,然后提取搜索

目的:

盡可能完全的將互聯(lián)網(wǎng)上所有的網(wǎng)頁(yè)下載到本地

聚焦爬蟲:

是面向主題,面向需求的爬蟲偿荷,只獲取需求相關(guān)的數(shù)據(jù)

搜索引擎的缺點(diǎn):

1窘游、只能夠獲取簡(jiǎn)單的文件數(shù)據(jù),大型的二進(jìn)制數(shù)據(jù)(音頻遭顶,視頻)
2张峰、搜索引擎搜索的結(jié)果都千篇一律,無(wú)法根據(jù)需求獲取特定的數(shù)據(jù)
3棒旗、99%的結(jié)果都是屬于無(wú)用的垃圾數(shù)據(jù)

OSI的七層協(xié)議的目的:

實(shí)現(xiàn)不同的系統(tǒng)互聯(lián)之間的數(shù)據(jù)通訊喘批,實(shí)現(xiàn)數(shù)據(jù)的傳輸

七層協(xié)議:

應(yīng)用層,表示層铣揉,會(huì)話層饶深,傳輸層,網(wǎng)絡(luò)層逛拱,數(shù)據(jù)鏈路層敌厘,物理層
應(yīng)用層:http/htttps

  • http(端口號(hào)為 80):從網(wǎng)絡(luò)傳輸超文本數(shù)據(jù)到本地瀏覽器的傳輸協(xié)議
  • https(端口號(hào)為 443):是HTTP的升級(jí)安全版,在HTTP的基礎(chǔ)上添加了一個(gè)SSL層朽合,用于安全傳輸

傳輸層:TCP/UDP

  • TCP:網(wǎng)絡(luò)傳輸協(xié)議俱两,面向連接的,長(zhǎng)連接曹步,傳輸?shù)氖菙?shù)據(jù)流宪彩,確保數(shù)據(jù)的安全性和完整性,但傳輸?shù)男史浅5牡?/li>
  • UDP:網(wǎng)絡(luò)傳輸協(xié)議讲婚,是非面向連接的尿孔,短鏈接,傳輸?shù)氖菙?shù)據(jù)包,傳輸數(shù)據(jù)是不安全的活合,可能會(huì)造成數(shù)據(jù)的缺失雏婶,傳輸?shù)乃俣确浅??/li>

URL的介紹

URL的組成:

  • scheme:指的是協(xié)議(http/https)
  • host:指的是服務(wù)器的IP后域名
  • port:值得是端口號(hào)
  • path:指的是資源路徑
  • query_string:URL地址后面的查詢參數(shù)
  • anchor(錨mao點(diǎn)) :定位白指,可以跳到制定的位置

URN:統(tǒng)一資源名稱
URI:統(tǒng)一資源標(biāo)志符
URL:統(tǒng)一資源定位符

URI是URN和URL的父類

常見的5種請(qǐng)求方式

GET:只適用于服務(wù)器獲取請(qǐng)求留晚,在URL連接后面可能會(huì)跟一些查詢參數(shù)
POST:向服務(wù)器端提交數(shù)據(jù),數(shù)據(jù)會(huì)放在請(qǐng)求體中告嘲,一般用于添加或修改數(shù)據(jù)
DELETE:一般用來刪除數(shù)據(jù)
PUT:更新整個(gè)資源(用來數(shù)據(jù)更新)
PATCH:局部的數(shù)據(jù)更新

GETPOST的請(qǐng)求區(qū)別

  • 使用場(chǎng)景:GET是從服務(wù)器端提取數(shù)據(jù)倔丈,而POST是請(qǐng)求向服務(wù)器提交數(shù)據(jù)的
  • 安全性:GET請(qǐng)求參數(shù)只能拼接在URL地址上,POST請(qǐng)求會(huì)在請(qǐng)求體中
  • GET請(qǐng)求的URL是由長(zhǎng)度限制的状蜗,而POST的請(qǐng)求可以添加很多字段

常見的請(qǐng)求頭參數(shù)

User-Agent:這是設(shè)置瀏覽器(設(shè)置這個(gè)參數(shù)模擬瀏覽器請(qǐng)求對(duì)方服務(wù)器)
Cookie:保存在客戶端中,保存的是用戶信息
Referer:告訴客戶端服務(wù)器當(dāng)前的請(qǐng)求書從哪個(gè)界面跳轉(zhuǎn)過來的
Accept:可以接受的數(shù)據(jù)類型

CookieSession:目的都是保持會(huì)話

  • HTTP:請(qǐng)求是無(wú)狀態(tài)的鹉动,每次請(qǐng)求斷開后轧坎,在請(qǐng)求都是一個(gè)新的請(qǐng)求,請(qǐng)求狀態(tài)會(huì)使用到Cookie和Session
  • Cookie:保存在客戶端泽示,記錄信息確認(rèn)用戶身份
  • Session:保存在服務(wù)端缸血,記錄信息確認(rèn)用戶身份

常見的請(qǐng)求狀態(tài)碼:

2XX:請(qǐng)求成功
3XX:重定向

  • 301:永久重定向
  • 302:臨時(shí)重定向
    4XX:客戶端請(qǐng)求錯(cuò)誤
  • 400:請(qǐng)求錯(cuò)誤,服務(wù)器無(wú)法解析
  • 401:未授權(quán)械筛,沒有身份驗(yàn)證
  • 403:服務(wù)器拒絕訪問
  • 404:訪問頁(yè)面不存在捎泻,資源路徑錯(cuò)誤
  • 405:請(qǐng)求方式不允許
  • 408:請(qǐng)求超時(shí)
    5XX:服務(wù)器錯(cuò)誤
  • 501:服務(wù)器內(nèi)部錯(cuò)誤
  • 502:服務(wù)器暫時(shí)不具備完成請(qǐng)求的功能
  • 503:服務(wù)器不可用

關(guān)于urllib中request,error埋哟,parse模塊的使用

request:是基本的HTTP請(qǐng)求模塊笆豁,可以用來模擬發(fā)送請(qǐng)求,就像在瀏覽器中輸入完網(wǎng)址赤赊,后敲回車一樣闯狱,使用時(shí)只需要給庫(kù)方法傳入相關(guān)的URL和相關(guān)的參數(shù)就可以了
error:異常處理模塊,如果請(qǐng)求錯(cuò)誤抛计,可以使用這個(gè)模塊來捕獲異常哄孤,然后重試后其他操作,保證陳旭不會(huì)意外終止
parse:是一個(gè)工具模塊吹截,提供了很多的URL的處理方法瘦陈,如拆分,解析波俄,合并等

正則的使用及說明:

應(yīng)為我們down下來的數(shù)據(jù)全是網(wǎng)頁(yè)晨逝,數(shù)據(jù)太大而且還很混亂,大多數(shù)都是無(wú)用的數(shù)據(jù)弟断,所以我們需要過濾和匹配出我們所需要的數(shù)據(jù)

  • 正則表達(dá)式:別名正規(guī)表達(dá)式咏花,正規(guī)表達(dá)法,規(guī)則表達(dá)式,常規(guī)表達(dá)法昏翰,正規(guī)表達(dá)式使用單個(gè)字符來描述苍匆、匹配一系列某個(gè)句法規(guī)則的字符串

目的:
1.給定的字符串判斷是否符合正則表達(dá)式的邏輯過濾
2.可以通過正則表達(dá)式,從字符串中捕捉或獲取我們所需要的特定部分

正則表達(dá)式語(yǔ)法支持情況

DeepinScrot-1057

正則表達(dá)式匹配的規(guī)則如下:

8f0aa323-3824-4b95-b4e0-4ab337c7ab85

將正則表達(dá)式編譯使用符號(hào)

修飾符號(hào) 描述
re.I 使用匹配對(duì)大小寫不敏感(不區(qū)分大小寫)
re.S 使.匹配包括換行符在內(nèi)的所有字符
re.M 多行匹配
re.L 做本地化識(shí)別

常用方法主要有:

  • match 方法:從起始位置開始查找棚菊,一次匹配
  • search 方法:從任何位置開始查找浸踩,一次匹配
  • findall 方法:全部匹配,返回列表
  • finditer 方法:全部匹配统求,返回迭代器
  • split 方法:分割字符串检碗,返回列表
  • sub 方法:替換
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市码邻,隨后出現(xiàn)的幾起案子折剃,更是在濱河造成了極大的恐慌,老刑警劉巖像屋,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怕犁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡己莺,警方通過查閱死者的電腦和手機(jī)奏甫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌受,“玉大人阵子,你說我怎么就攤上這事∈を龋” “怎么了挠进?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)腾么。 經(jīng)常有香客問我奈梳,道長(zhǎng),這世上最難降的妖魔是什么解虱? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任攘须,我火速辦了婚禮,結(jié)果婚禮上殴泰,老公的妹妹穿的比我還像新娘于宙。我一直安慰自己,他們只是感情好悍汛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布捞魁。 她就那樣靜靜地躺著,像睡著了一般离咐。 火紅的嫁衣襯著肌膚如雪谱俭。 梳的紋絲不亂的頭發(fā)上奉件,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音昆著,去河邊找鬼县貌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛凑懂,可吹牛的內(nèi)容都是我干的煤痕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼接谨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼摆碉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起脓豪,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤巷帝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后扫夜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锅睛,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年历谍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辣垒。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡望侈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出勋桶,到底是詐尸還是另有隱情脱衙,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布例驹,位于F島的核電站捐韩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鹃锈。R本人自食惡果不足惜荤胁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屎债。 院中可真熱鬧仅政,春花似錦、人聲如沸盆驹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)躯喇。三九已至辫封,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背倦微。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工妻味, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人璃诀。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓弧可,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親劣欢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棕诵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • HTTP基本原理 URI、URL凿将、URN(Uninform Resource) URI(Identifier):統(tǒng)...
    GHope閱讀 2,079評(píng)論 2 26
  • 前言:最近發(fā)現(xiàn)自己在網(wǎng)絡(luò)相關(guān)這一塊基礎(chǔ)很是欠缺校套,所以準(zhǔn)備花時(shí)間了解一下,本文主要是講http協(xié)議的一些基礎(chǔ)牧抵,和一些...
    justCode_閱讀 2,094評(píng)論 0 23
  • 1. 爬蟲概述 ????爬蟲笛匙,又稱為網(wǎng)絡(luò)爬蟲,主要指代從互聯(lián)網(wǎng)上進(jìn)行數(shù)據(jù)采集的腳本后端程序犀变,是進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)挖...
    大千世界1998閱讀 1,066評(píng)論 0 0
  • 過去的幾個(gè)月妹孙,己經(jīng)習(xí)慣了觸目都是一片灰敗蕭肅,習(xí)慣了將視線鎖在手機(jī)屏幕的方寸之間获枝,遙想屏幕那邊的人和千里之外的南國(guó)...
    我是銀璃閱讀 199評(píng)論 0 0
  • 我們從大到小見過很多人蠢正,聽過很多故事 城市的夜晚,小鎮(zhèn)的黃昏省店,學(xué)校的清晨 起起伏伏的歌韻里藏著許多動(dòng)人的傳奇 每當(dāng)...
    陳恩君閱讀 558評(píng)論 0 1