Python爬取“多頁面”PTT八卦版資訊(含影片與程式碼)
1.一個觀念,開啟Python 網路爬蟲成長之路!
2. 第一支爬蟲:輕鬆爬取台灣第一位武漢肺炎確診資訊!
3. Cookie 突破PPT 八卦版十八禁限制-網路爬蟲系列
4. 以網路爬蟲角度解析HTML基本概念
5.Python手把手爬取 PPT 八卦版最新話題!
本篇會用到以上五篇的連貫概念!建議將以上文章先看過喔^^~
上次《Python手把手爬取 PPT 八卦版最新話題!》教大家爬取一頁後,有許多讀者好奇如何多個頁面。只要可以知道爬2頁面以上,整個PTT爬下來就不是夢了XD 。如果是第一次看我的文章的讀者,請一定要先看前面幾天文章喔!前導重要觀念!一步一步看下來會比較順利喔!
要跨頁面爬取PTT 八卦版有兩個關鍵:
- PTT 八卦版如何換頁,有沒有什麼規則?
- Python 如何實作爬取多個頁面?
PTT 八卦版如何換頁
PTT 八卦版規則是什麼呢? 如果有眼尖的網友看一定會發現,當你按下 "上頁"的時候整個PTT的網址會不斷的由大了的數字往小的數字前進(如下圖) 。所以PTT 的規則是:
透過 index 後方的數字控制網頁換頁!
然後請讀者記住第一個從index.html按下"下頁"馬上出現的數字。下圖為例就是"39532" 等等會用到喔!
所以你可以直接的在瀏覽器的"網址列"中,於index後面直接打入一個數字。按下enter就可以很直接的進到先前的一個頁面了!
如同我們前一篇文章《一個觀念,開啟Python 網路爬蟲成長之路!》所說其實網路爬蟲就是模擬人類的行為所以我們只要 可以透過連結 這個到的網頁我們都可以對這個超連結實作 "get請求"。
那我們就可以利用這個特性,來實作多頁網路爬蟲。而且每一個頁面的網頁架構與格式全部都是一樣的。我們就可以很輕易的用少量的程式碼,來爬取大量的頁面喔!
Python 如何實作爬取多個頁面?
在上一篇文章中《Python手把手爬取 PPT 八卦版最新話題!》我們已經教大家爬單一個頁面。把上篇文章的程式碼包裝成一個get_one_page() 的function。所以我們只要知道如何去使用程式創造出大量的超連結,再丟到前一篇文章中的單頁程式碼就可以了!
再我們知道超連結的規則後,就只要使用 For 迴圈產生大量連結就可以了。如果對於for 迴圈運作不是很熟悉的人可以參考《商管人也可以秒懂的Python For 迴圈思維!》。這只有一個要特別注意:字串跟數字要可以連接要使用str() 將數字轉換為字串。
實際只要把連結丟到我們自己建立的 get_one_page() 中就可以了!
程式碼:
相關文章:幫助Python新手度過陣痛期的關鍵功能!整合開發環境 Spyder三大功能
相關文章:怒砍Anaconda ! 手動移除windows Anaconda 殘留檔案!
相關文章:入門必看!Windows 懶人搭建Anaconda Python 學習環境
相關文章:為什麼我的Python 總是學不好?
如果你覺得這篇文章很棒
你的拍手是我前進的動力!