行銷人轉職爬蟲王實戰|5大社群+2大電商

1. 爬蟲新兵營 與 轉職爬蟲王 2. 進階皇蟲 Selenium 3. PTT 的消費者在意什麼 4. Dcard 爆點分析 5. Instagram 增粉大師 6. Youtube 中尋找KOL夥伴 7. FaceBook 自動文小幫手 8. 蝦皮市場預估-這個市場有多大? 9. Amazon 告訴你市場缺口 10. Gmail 自動寄信
課程介紹 & 程式碼

資料傳遞:Get與Post差異,網路封包傳送的差異

並不是每個網站都歡迎爬蟲,雖然爬蟲爬的資料,都是屬於公開資料,為何網站還不歡迎我們去取得資料呢?以股票資訊網站為例,這些股票網站的資料來源,基本上都是向證券交易所買的,這必須支付一筆月費,當然也有可能不是用買的(也是用爬蟲的),但較大的股票資訊網站一定得用買的,因為需要及時取得股價,並且運算出各種分析;因此網站付了一筆錢買下資料,還花錢、花時間架設機台架網站,並且付出勞力維護,怎麼能被一隻爬蟲簡簡單單的拉下資料?

1. 網路架構

行銷搬進大程式 上圖為網路架構,使用者在向瀏覽器請求時,瀏覽器會與遠方網站的伺服器溝通,其溝通就是利用封包來傳送,而封包的內容如下圖,裡面會記錄傳送者IP、收件者IP、雙方MAC位置、時間、協定,當然最重要的就是裡頭的傳送內容,每個毫秒都會有大量的封包流進流出,因為不可能一個網頁只用一個封包就傳遞出去,這樣這個封包的檔案會非常的大,因此封包的傳遞會如同線上影音平台一般,分成許多段載入,因此如果您的網速較慢,也會發現載入網站時,網站會一塊一塊的補齊(有少部分網站不是這樣設計),就是因為有些封包資料還沒到,導致還未顯示部分畫面。 行銷搬進大程式

一個題外話,很多人說:「不明的Wi-Fi不要連,究竟有甚麼差別呢?」上圖的封包擷取軟體即可解取該網路所有流入流出的封包,其第二層就能看到封包的內容,若您傳送的封包是沒有加密的,便可以直接看到帳號密碼、對話訊息。

2. Get資料傳送方式:

優點:傳遞資訊快速且方便。' 缺點:傳遞的內容一目瞭然,因此通常只會用來傳遞不具隱私性的資料。

了解網路的基本架構後,就來深入了解兩種不同的資料傳遞方式。Get是最常見的一種資料傳送方式,其實一般最簡單的爬蟲,就是利用這個方式取得的,如何辨別呢?非常的簡單,只要您發現該網站網址的地方,後方有一個「?」然後再接上”某個變數”=”數字”,這就是一個Get的傳送,例如我們常見的Yahoo股票網站,先前的文章也是以這個方式進行爬蟲,只要改變等號後的數字,就會改變整個網頁。 行銷搬進大程式

3. Post資料傳送方式:

優點:訊息的隱密性變高,但不代表就看不到內容,下圖的示範還是可以看到內容,要隱私還是必須要加密。 缺點:資料的打包變得比較慢,若一般資訊都使用這種方式,網路會打結。

如下圖所示,不管選擇何種損益表的模式,網址都不會有任何的改變,因為您的每一個請求,是以Post的封包傳遞出去,要如何看到呢?在您還未選擇之前,直接按下「F12」按鍵,右方(有的會在下方,可依自己設定)會出現一塊欄位,一開始欄位都會是空白的,請重新整理網頁,就會出現大量的封包資料;上方選單選擇「Network」,往下一層選擇XHR的封包類型(選擇All也找的到,可是會參雜很多其類型的封包),最下方的欄位就會顯示所有剛剛的封包了,如下圖中有三個封包。 行銷搬進大程式 點選「Headers」可以看到封包的標頭訊息(如下圖),裏頭有傳送Post封包必要的資訊,其中紅框的部分,「User-Agent」便是爬蟲的關鍵,台灣股市資訊網是依照封包內有無這個資訊,來判斷是否為機器人,引此在程式碼中加入這項資訊,便可以騙過伺服器,每個伺服器判斷的方式不同,或許還需要更多的判斷資訊,當然這樣的網站就會更加嚴謹,先前爬蟲的文章也有使用Post的方式擷取。 行銷搬進大程式

4. Get 與 Post 各方面比較

爬蟲就是將網頁上的資料擷取下來,如同在一段河流區段中架設網子來「捕魚」。而Get與Post就是兩種不同的網站封包傳送方式,其兩者的比較表如下:

安全性 速度 傳送參數量
Get 較低 快 小
Post 較高(只是相對較安全而已喔) 較慢 大

作者:楊超霆 行銷搬進大程式 創辦人

©2023 行銷搬進大程式 Marketing Live in Code