前言
一站式社交平臺(tái)數(shù)據(jù)抓取利器,帶你玩轉(zhuǎn)小紅書、抖音、快手、B站和微博數(shù)據(jù)分析
不經(jīng)意間,來查看MediaCrawler倉(cāng)庫(kù)源碼,發(fā)現(xiàn)作者已經(jīng)刪庫(kù)了??磥硎穷I(lǐng)獎(jiǎng)了。才幾天不到的時(shí)間Star數(shù)量已經(jīng)直逼10K了,增長(zhǎng)速度近乎瘋狂。
前兩天只是將代碼下載下來了,還沒認(rèn)真的玩。還好代碼本地已經(jīng)有了。如果有興趣的也可以來找我要,免費(fèi)的喲。
作者在這里也明顯進(jìn)行了標(biāo)注使用了無頭瀏覽器
那到底什么事無頭瀏覽器呢?
無頭瀏覽器(Headless Browser)是一種瀏覽器程序,沒有圖形用戶界面(GUI),但能夠執(zhí)行與普通瀏覽器相似的功能。無頭瀏覽器能夠加載和解析網(wǎng)頁(yè),執(zhí)行JavaScript代碼,處理網(wǎng)頁(yè)事件,并提供對(duì)DOM(文檔對(duì)象模型)的訪問和操作能力。
與傳統(tǒng)瀏覽器相比,無頭瀏覽器的主要區(qū)別在于其沒有可見的窗口或用戶界面。這使得它在后臺(tái)運(yùn)行時(shí),不會(huì)顯示實(shí)際的瀏覽器窗口,從而節(jié)省了系統(tǒng)資源,并且可以更高效地執(zhí)行自動(dòng)化任務(wù)。
常見的無頭瀏覽器包括Headless Chrome(Chrome的無頭模式)、PhantomJS、Puppeteer(基于Chrome的無頭瀏覽器庫(kù))、playwright等。它們提供了編程接口,使開發(fā)者能夠通過代碼自動(dòng)化控制和操作瀏覽器行為。
如果您比較Playwright和 Puppeteer的貢獻(xiàn)者頁(yè)面 ,您會(huì)注意到Puppeteer的前兩個(gè)貢獻(xiàn)者現(xiàn)在在 Playwright 上工作。Puppeteer 團(tuán)隊(duì)實(shí)質(zhì)上是從 Google 轉(zhuǎn)移到 Microsoft 并成為 Playwright 團(tuán)隊(duì)。
因此,Playwright 在很多方面與 Puppeteer 非常相似。API 方法在大多數(shù)情況下是相同的,并且默認(rèn)情況下 Playwright 還捆綁了兼容的瀏覽器。
Playwright 最大的區(qū)別在于跨瀏覽器支持。它可以驅(qū)動(dòng) Chromium、WebKit(Safari 的瀏覽器引擎)和 Firefox。
無頭瀏覽器其實(shí)就是看不見的瀏覽器,所有的操作都要通過代碼調(diào)用 API 來控制,所以瀏覽器能干的事兒,無頭瀏覽器都能干,而且很多事兒做起來比標(biāo)準(zhǔn)的瀏覽器更簡(jiǎn)單。
能夠干什么呢?
我舉幾個(gè)常用的功能來說明一下無頭瀏覽器的主要使用場(chǎng)景
自動(dòng)化測(cè)試: 無頭瀏覽器可以模擬用戶行為,執(zhí)行自動(dòng)化測(cè)試任務(wù),例如對(duì)網(wǎng)頁(yè)進(jìn)行加載、表單填寫、點(diǎn)擊按鈕、檢查頁(yè)面元素等。
數(shù)據(jù)抓取: 無頭瀏覽器可用于爬取網(wǎng)頁(yè)數(shù)據(jù),自動(dòng)訪問網(wǎng)站并提取所需的信息,用于數(shù)據(jù)分析、搜索引擎優(yōu)化等。
屏幕截圖: 無頭瀏覽器可以加載網(wǎng)頁(yè)并生成網(wǎng)頁(yè)的截圖,用于生成快照、生成預(yù)覽圖像等。
服務(wù)器端渲染: 無頭瀏覽器可以用于服務(wù)器端渲染(Server-side Rendering),將動(dòng)態(tài)生成的頁(yè)面渲染為靜態(tài)HTML,提供更好的性能和搜索引擎優(yōu)化效果。
生成 PDF 文件:使用瀏覽器自帶的生成 PDF 功能,將目標(biāo)頁(yè)面轉(zhuǎn)換成 PDF 。
這個(gè)倉(cāng)庫(kù)如何使用呢
首先這是一個(gè)Python庫(kù),當(dāng)然要安裝必要的Python環(huán)境,這個(gè)我就不多說了,通過GPT或者在網(wǎng)上搜索都可以進(jìn)行安裝好。
接下來就是拿到代碼后如何使用,這個(gè)其實(shí)作者也是非常的友好了,直接看README。
最后運(yùn)行命令后,會(huì)出現(xiàn)一個(gè)二維碼,比如這里我測(cè)試的是小紅書,出現(xiàn)二維碼之后,我們用小紅書App來掃描,并進(jìn)行確認(rèn)身份,這樣無頭瀏覽器就能識(shí)別并記住我們的身份信息,后續(xù)就可以通過該身份進(jìn)行抓取一些數(shù)據(jù)了。
這里我配置了一條小紅書的筆記ID,這里是個(gè)數(shù)據(jù)可以配置多個(gè)的。
好了,OK ,數(shù)據(jù)就被這么簡(jiǎn)單的抓取下來了。
作者還特意對(duì)數(shù)據(jù)存儲(chǔ)做了封裝,如果數(shù)據(jù)量大的時(shí)候存儲(chǔ)起來可能就非常的方便了。
如果需求量很大,還可以對(duì)其源碼進(jìn)行研究改造,好了今天的學(xué)習(xí)就到這里了。
轉(zhuǎn)自博客園,作者aehyok https://www.cnblogs.com/aehyok/p/18086730
該文章在 2024/3/27 17:48:43 編輯過