創作內容

6 GP

爬蟲需要知道的網路協定 HTTP 和 HTTPS

作者:Yotsuba│2020-05-24 17:42:08│巴幣:12│人氣:559
HTTP 和 HTTPS 都屬於網路 OSI 模型中的應用層,同時又是基於 TCP 之上

而 socket 是 TCP / IP 的 API

撰寫文章的同時我也在看 Python 知名 HTTP Library 的 Source code

它叫做 requests,我發現它的底層是 socket 實作的

有興趣研究底層的朋友可以自己以這些關鍵字搜尋

不過對於實務方面,其實寫爬蟲只需要了解應用層的 HTTP 協定就好


HTTP 是一種請求 / 回應式的網路協定,什麼意思呢 ?

簡單來說,今天你用瀏覽器打開巴哈姆特首頁,這個過程發生的事情如下 :


(1) 你打開了瀏覽器

(2) 輸入 https://www.gamer.com.tw/

(3) 瀏覽器向巴哈姆特伺服器主機發送請求 (requests)

(4) 巴哈姆特伺服器主機接收請求,並且給予回應 (response)

(5) 瀏覽器接收回應,呈現 HTML 和 CSS,並且以 JS 渲染畫面


以圖片呈現大概像是這樣 :




轉換成程式碼會像這樣 :


import requests

response = requests.get('https://www.gamer.com.tw/')


前面提到 requests 是 Python 知名的 HTTP Library

它同時也是未來寫爬蟲會助你一臂之力的好用函式庫

因為 requests 可以完美的幫你處理掉 HTTP 請求

畢竟沒有 HTTP Library 的話,那真的就要去寫 socket 了 ...

寫 socket 去完成 HTTP Request 是可以,不過就以學習爬蟲來說,要先以高階框架為主
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4793403
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

6喜歡★happy819tw 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:Python 爬蟲 - ... 後一篇:HTTP 和 HTTPS...

追蹤私訊切換新版閱覽

作品資料夾

san0196
《我是靈異人》最新一話更新囉!歡迎來我的小屋看看喔!看更多我要大聲說昨天13:41


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】