01 爬蟲的起步

目錄

  1. 通訊協(xié)議
    ? 端口
    ? 通訊協(xié)議
  2. 網(wǎng)絡(luò)模型
  3. 爬蟲介紹
    ? 什么是爬蟲
    ? 爬蟲的分類
  4. 幾個(gè)概念
    ? GET和POST
    ? URL的組成
    ? User-Agent 用戶代理
    ? Referer
    ? 狀態(tài)碼
  5. 抓包工具

1.通訊協(xié)議

1.1 端口

數(shù)據(jù)通訊分幾步? e.g.用小a的QQ找小b的QQ

  • 1. 找到對(duì)方ip谊娇。
  • 2. 數(shù)據(jù)要發(fā)送到對(duì)方指定的應(yīng)用程序上(e.g.QQ)棍厂。為了標(biāo)識(shí)這些應(yīng)用程序,所以給這些網(wǎng)絡(luò)應(yīng)用程序都用數(shù)字進(jìn)行了標(biāo)識(shí)溪烤。為了方便稱呼這個(gè)數(shù)字,叫做端口匀伏。這里的端口 我們一般都叫做 '邏輯端口'恤溶。
  • 3. 定義通訊規(guī)則。這個(gè)通訊規(guī)則我們一般稱之為協(xié)議
1.2 通訊協(xié)議
  • 國際組織定義了通用的通信協(xié)議 TCP/IP協(xié)議。
  • 協(xié)議:計(jì)算機(jī)通信網(wǎng)絡(luò)中兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信所必須共同遵守的規(guī)定或規(guī)則油讯。
  • HTTP又叫做超文本傳輸協(xié)議(是一種通信協(xié)議)HTTP 端口是 80

2. 網(wǎng)絡(luò)模型

image.png

后期更新了新的參考模型 TCP/IP參考模型

image.png
2.1 HTTPS是什么呢?
  • https=http+ssl延欠,顧名思義陌兑,https是在http的基礎(chǔ)上加上了SSL保護(hù)殼,信息的加密過程就是在SSL中完成的由捎。
  • https兔综,是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版隅俘。即HTTP下加入SSL層邻奠,HTTPS的安全基礎(chǔ)是SSL。
2.2 SSL怎么理解为居?
  • SSL也是一個(gè)協(xié)議主要用于web的安全傳輸協(xié)議。
image.png

3. 爬蟲介紹

3.1 什么是爬蟲杀狡?
  • 簡單一句話就是代替人去模擬瀏覽器進(jìn)行網(wǎng)頁操作
3.2 為什么需要爬蟲蒙畴?
  • 為其他程序提供數(shù)據(jù)源 如搜索引擎(百度、Google等)呜象、數(shù)據(jù)分析膳凝、大數(shù)據(jù)等等
3.3 企業(yè)獲取數(shù)據(jù)的方式?
3.4 Python 做爬蟲的優(yōu)勢

2010 PC端的互聯(lián)網(wǎng)->2015 移動(dòng)互聯(lián)網(wǎng)-> 大數(shù)據(jù)的互聯(lián)網(wǎng)時(shí)代(現(xiàn)在進(jìn)行時(shí))->人工智能(將來時(shí))

  • PHP : 對(duì)多線程蹬音、異步支持不太好
  • Java : 代碼量大,代碼笨重
  • C/C++ : 代碼量大休玩,難以編寫
  • Python : 支持模塊多著淆、代碼簡介劫狠、開發(fā)效率高 (scrapy框架)
3.5 爬蟲的分類
  • 通用網(wǎng)絡(luò)爬蟲 例如 baidu google yahu

方法一:網(wǎng)頁后面加/robots.txt,例如百度 可以見到所用的user-agent,還有不允許爬取的目錄-->都遵循robots協(xié)議
方法二:點(diǎn)擊隨便一個(gè)搜索結(jié)果的”了解詳情”-->百度搜索資源平臺(tái)

  • 聚焦網(wǎng)絡(luò)爬蟲: 根據(jù)既定的目標(biāo)有選擇的抓取某一特定主題內(nèi)容
  • 增量式網(wǎng)絡(luò)爬蟲: 指對(duì)下載網(wǎng)頁采取增量式的更新和只爬行新產(chǎn)生的或者已經(jīng)發(fā)生變化的網(wǎng)頁爬蟲
  • 深層網(wǎng)絡(luò)爬蟲: 指那些大部分內(nèi)容不能通過靜態(tài)鏈接獲取的永部、隱藏在搜索表單后的独泞,只有用戶提交一些關(guān)鍵詞才能獲得的web頁面,例如 用戶登錄注冊(cè)才能訪問的頁面苔埋。

4. 幾個(gè)概念

4.1 GET和POST
  • GET : 查詢參數(shù)都會(huì)在URL上顯示出來懦砂。從服務(wù)器獲取數(shù)據(jù)&不會(huì)對(duì)服務(wù)器產(chǎn)生任何影響。


    image.png

    OR


    image.png

上例中能看到關(guān)鍵字(wd=后)變?yōu)?6禁制編碼

  • POST : 查詢參數(shù)和需要提交數(shù)據(jù)是隱藏在Form表單里的,不會(huì)在URL地址上顯示出來组橄。<--會(huì)對(duì)服務(wù)器資源產(chǎn)生影響
    image.png
4.2 URL組成部分
  • URL: 統(tǒng)一資源定位符
    例子:https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
  • https: 協(xié)議
  • new.qq.com: 主機(jī)名可以將主機(jī)理解為一臺(tái)名叫 news.qq.com 的機(jī)器荞膘。這臺(tái)主機(jī)在 qq.com 域名
  • port 端口號(hào): 80 /new.qq.com 在他的后面有個(gè) :80 可以省略
  • TWF20200/TWF2020032502924000.html 訪問資源的路徑
  • #anchor: 錨點(diǎn)用前端在做頁面定位的
    image.png

注意 : 在瀏覽器請(qǐng)求一個(gè)url,瀏覽器會(huì)對(duì)這個(gè)url進(jìn)行一個(gè)編碼。(除英文字母玉工、數(shù)字和部分標(biāo)識(shí)其他的全部使用% 加 十六進(jìn)制碼進(jìn)行編碼)

4.3 User-Agent 用戶代理
  • 作用:記錄用戶的瀏覽器衫画、操作系統(tǒng)等,為了讓用戶更好的獲取HTML頁面效果。

實(shí)操應(yīng)用:爬蟲時(shí)遇到反爬瓮栗,加上headers=user-agent

User-Agent:

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

4.4 Refer
  • 表明當(dāng)前這個(gè)請(qǐng)求是從哪個(gè)url過來的削罩。一般情況下可以用來做反爬的技術(shù)。e.g.當(dāng)爬取求職網(wǎng)頁信息時(shí)费奸,表明用戶是從主頁過來的弥激,不是機(jī)器人。

可以在network->request header中找到referer

4.5 狀態(tài)碼
  • 200 : 請(qǐng)求成功
  • 301 : 永久重定向

    image.png

  • 302 : 臨時(shí)重定向

    image.png

  • 403 : 服務(wù)器拒絕請(qǐng)求
  • 404 : 請(qǐng)求失敗(服務(wù)器無法根據(jù)客戶端的請(qǐng)求找到資源(網(wǎng)頁))
  • 500 : 服務(wù)器內(nèi)部請(qǐng)求

5. 抓包工具

image.png
  • Elements : 元素愿阐。網(wǎng)頁源代碼微服,提取數(shù)據(jù)和分析數(shù)據(jù)(有些數(shù)據(jù)是經(jīng)過特殊處理的所以并不是都是準(zhǔn)確的)

    image.png

  • Console : 控制臺(tái) (打印信息)
    和PyCharm一樣

  • Sources : 信息來源 (整個(gè)網(wǎng)站加載的文件,包括網(wǎng)頁源代碼)
    但是這是網(wǎng)頁第一遍的請(qǐng)求->空架子->不能收集到動(dòng)態(tài)信息e.g.招聘網(wǎng)上具體職位信息缨历。

  • NetWork : 網(wǎng)絡(luò)工作(信息抓包) 能夠看到很多的網(wǎng)頁請(qǐng)求

反爬技巧:1. 加上headers= user-agent 2. 加上refer

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末以蕴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辛孵,更是在濱河造成了極大的恐慌丛肮,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件魄缚,死亡現(xiàn)場離奇詭異宝与,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)冶匹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門习劫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嚼隘,你說我怎么就攤上這事诽里。” “怎么了飞蛹?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵谤狡,是天一觀的道長灸眼。 經(jīng)常有香客問我,道長豌汇,這世上最難降的妖魔是什么幢炸? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮拒贱,結(jié)果婚禮上宛徊,老公的妹妹穿的比我還像新娘。我一直安慰自己逻澳,他們只是感情好闸天,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著斜做,像睡著了一般苞氮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓤逼,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天笼吟,我揣著相機(jī)與錄音,去河邊找鬼霸旗。 笑死贷帮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诱告。 我是一名探鬼主播撵枢,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼精居!你這毒婦竟也來了锄禽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤靴姿,失蹤者是張志新(化名)和其女友劉穎沃但,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體空猜,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绽慈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辈毯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搜贤,死狀恐怖谆沃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仪芒,我是刑警寧澤唁影,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布耕陷,位于F島的核電站,受9級(jí)特大地震影響据沈,放射性物質(zhì)發(fā)生泄漏哟沫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一锌介、第九天 我趴在偏房一處隱蔽的房頂上張望嗜诀。 院中可真熱鬧,春花似錦孔祸、人聲如沸隆敢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拂蝎。三九已至,卻和暖如春惶室,著一層夾襖步出監(jiān)牢的瞬間温自,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來泰國打工皇钞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悼泌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓鹅士,卻偏偏與公主長得像券躁,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掉盅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361