前言
一站式社交平臺資料抓取利器,帶你玩轉小紅書、抖音、快手、B站和微博資料分析
不經意間,來檢視MediaCrawler倉庫原始碼,發現作者已經刪庫了。看來是領獎了。才幾天不到的時間Star數量已經直逼10K了,增長速度近乎瘋狂。
前兩天只是將程式碼下載下來了,還沒認真的玩。還好程式碼本地已經有了。如果有興趣的也可以來找我要,免費的喲。
作者在這裡也明顯進行了標註使用了無頭瀏覽器
那到底什麼事無頭瀏覽器呢?
無頭瀏覽器(Headless Browser)是一種瀏覽器程式,沒有圖形使用者介面(GUI),但能夠執行與普通瀏覽器相似的功能。無頭瀏覽器能夠載入和解析網頁,執行JavaScript程式碼,處理網頁事件,並提供對DOM(文件物件模型)的訪問和操作能力。
與傳統瀏覽器相比,無頭瀏覽器的主要區別在於其沒有可見的視窗或使用者介面。這使得它在後臺執行時,不會顯示實際的瀏覽器視窗,從而節省了系統資源,並且可以更高效地執行自動化任務。
常見的無頭瀏覽器包括Headless Chrome(Chrome的無頭模式)、PhantomJS、Puppeteer(基於Chrome的無頭瀏覽器庫)、playwright等。它們提供了程式設計介面,使開發者能夠透過程式碼自動化控制和操作瀏覽器行為。
如果您比較Playwright和 Puppeteer的貢獻者頁面 ,您會注意到Puppeteer的前兩個貢獻者現在在 Playwright 上工作。Puppeteer 團隊實質上是從 Google 轉移到 Microsoft 併成為 Playwright 團隊。
因此,Playwright 在很多方面與 Puppeteer 非常相似。API 方法在大多數情況下是相同的,並且預設情況下 Playwright 還捆綁了相容的瀏覽器。
Playwright 最大的區別在於跨瀏覽器支援。它可以驅動 Chromium、WebKit(Safari 的瀏覽器引擎)和 Firefox。
無頭瀏覽器其實就是看不見的瀏覽器,所有的操作都要透過程式碼呼叫 API 來控制,所以瀏覽器能幹的事兒,無頭瀏覽器都能幹,而且很多事兒做起來比標準的瀏覽器更簡單。
能夠幹什麼呢?
我舉幾個常用的功能來說明一下無頭瀏覽器的主要使用場景
- 自動化測試: 無頭瀏覽器可以模擬使用者行為,執行自動化測試任務,例如對網頁進行載入、表單填寫、點選按鈕、檢查頁面元素等。
- 資料抓取: 無頭瀏覽器可用於爬取網頁資料,自動訪問網站並提取所需的資訊,用於資料分析、搜尋引擎最佳化等。
- 螢幕截圖: 無頭瀏覽器可以載入網頁並生成網頁的截圖,用於生成快照、生成預覽影像等。
- 伺服器端渲染: 無頭瀏覽器可以用於伺服器端渲染(Server-side Rendering),將動態生成的頁面渲染為靜態HTML,提供更好的效能和搜尋引擎最佳化效果。
- 生成 PDF 檔案:使用瀏覽器自帶的生成 PDF 功能,將目標頁面轉換成 PDF 。
這個倉庫如何使用呢
首先這是一個Python庫,當然要安裝必要的Python環境,這個我就不多說了,透過GPT或者在網上搜尋都可以進行安裝好。
接下來就是拿到程式碼後如何使用,這個其實作者也是非常的友好了,直接看README。
最後執行命令後,會出現一個二維碼,比如這裡我測試的是小紅書,出現二維碼之後,我們用小紅書App來掃描,並進行確認身份,這樣無頭瀏覽器就能識別並記住我們的身份資訊,後續就可以透過該身份進行抓取一些資料了。
這裡我配置了一條小紅書的筆記ID,這裡是個資料可以配置多個的。
好了,OK ,資料就被這麼簡單的抓取下來了。
作者還特意對資料儲存做了封裝,如果資料量大的時候儲存起來可能就非常的方便了。
如果需求量很大,還可以對其原始碼進行研究改造,好了今天的學習就到這裡了。