Cookie 突破PPT 八卦版十八禁限制-網路爬蟲系列( 含影片與程式碼)
相關文章:
幫助Python新手度過陣痛期的關鍵功能!整合開發環境 Spyder三大功能
你也可以輕鬆爬取台灣第一位武漢肺炎確診資訊!
爬台灣PTT 文章標題,大概是新手學習網路爬蟲最熱門的選項了!台灣PTT不僅沒有太多高難度的限制,也真實的可以爬到許多有價值的資料!本篇會使用前一篇《一個觀念,開啟Python 網路爬蟲成長之路!》文提到的 “Get 請求” 來模擬使用者開啟網頁的行為。
嘗試爬資料
如同《第一支爬蟲:輕鬆爬取台灣第一位武漢肺炎確診資訊!》中一樣,都是使用Python 實作網路爬蟲抓取網頁程式碼。所以一般初學者把上一篇文章的code 來使用大概會改成這樣:
但執行後通常會發現!
結果根本沒抓到任何八卦版的文字!
八卦版十八禁限制
結果會發現原來是被網路分級限制給擋住了(圖4)!我相信這也是不少讀者未滿18歲時按過同意的按鈕八XD(被拖走…。那要如何突破限制呢?
透過Cookie突破限制
或許有些聰明的讀者已經發現了一些端倪。讀者自己在看PTT八卦版時:
不是每次都要按”18歲同意”按鈕 !
那到底PPT 八卦版網頁是怎麼紀錄我們已經按過這個按鈕的呢?
這時候就要談到一個東西叫做Cookie拉!你可以理解成:
Cookie 就是一個方便紀錄使用者一些行為的地方。
所以網頁工程師時常會把一些沒有安全疑慮的資料存在Cookie中。如:登入狀態、Google Analytics追蹤碼…等等。所以你為什麼每次點了某個商品的官網,後續就會有一大堆那個商品的廣告出現也是因為Cookie拉XD
查閱網站Cookie
如何看Cookie到底是存什麼呢? 這時我推薦使用Google Chrome ,可以按下F12 開啟發者模式。就可以幫助我們觀察:
按下內容了”18歲同意”按鈕後Cookie的變化!
查閱步驟為:
- 打開Google Chrome 且開啟無痕模式,連到PPT八卦版網頁。
- 按下F12 開啟”開發者視窗”或者在任何網頁按右鍵>檢查。(Mac:Fn+F12)
- 點選啟發者視窗上方工具列中的Application。
- 點選左方 Storage>Cookies> https://www.ppt.cc。
- 點選”18歲同意”按鈕。觀察變化!
你會發現根本網頁只是記錄了一個:
Name為over18、Value為1的Cookie。
Python 使用Cookie 越過18禁限制
相信聰明的讀者會發現,只要在把程式碼中加入Cookie一同傳送就可以越過了!那要如何實踐呢?這就跟HTTP協定原有關。通常發送”get請求”時,會夾帶一個Header。透過Header來把一些資訊傳送給網頁伺服器。Cookie就是存在每個”get請求”的Header中喔!
所以我們只要在Python 程式碼中加入 header :over18=1就好了喔!
其實只要懂得網路原理,是不是就可以輕易突破了呢XD?
相關文章:幫助Python新手度過陣痛期的關鍵功能!整合開發環境 Spyder三大功能
相關文章:怒砍Anaconda ! 手動移除windows Anaconda 殘留檔案!
相關文章:入門必看!Windows 懶人搭建Anaconda Python 學習環境
相關文章:為什麼我的Python 總是學不好?
如果你覺得這篇文章很棒
你的拍手是我前進的動力!