国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

三行代碼啟動(dòng)隱身瀏覽器,這個(gè)庫(kù)想干掉Selenium

0
分享至

寫(xiě)爬蟲(chóng)的人都有過(guò)這種崩潰時(shí)刻:本地跑得好好的腳本,一上服務(wù)器就被Cloudflare攔住,Chrome版本對(duì)不上驅(qū)動(dòng),內(nèi)存占用莫名其妙飆到幾個(gè)G。有人在HN上甩了一段代碼,說(shuō)這些問(wèn)題他全解決了——用Bun跑,三行代碼啟動(dòng),還能自動(dòng)點(diǎn)掉Turnstile驗(yàn)證框。

這個(gè)叫Mochi.js的庫(kù),核心賣(mài)點(diǎn)是"bun-native"。不是簡(jiǎn)單的包裝層,而是直接扎進(jìn)Bun的運(yùn)行時(shí)里。傳統(tǒng)方案像Puppeteer或Playwright,本質(zhì)是Node調(diào)Chrome DevTools協(xié)議,中間隔了一層翻譯。Mochi.js的作者顯然嫌這層翻譯太慢,干脆用Bun的內(nèi)置API重寫(xiě)了一遍瀏覽器控制邏輯。


代碼示例里藏著幾個(gè)有意思的設(shè)計(jì)。第一個(gè)是profile系統(tǒng)——"linux-chrome-stable"、"mac-m4-chrome-stable"、"win11-chrome-stable",不是隨便起的名字,是完整的環(huán)境指紋。UA、字體列表、Canvas指紋、WebGL渲染器,全部按真實(shí)設(shè)備配置。seed參數(shù)更關(guān)鍵,同一個(gè)seed永遠(yuǎn)生成同一套指紋,這意味著你可以給每個(gè)賬號(hào)分配固定的"設(shè)備身份",而不是每次啟動(dòng)都是一臺(tái)新電腦。


第二個(gè)是challenges模塊。示例里演示了Turnstile的autoClick,這是Cloudflare的人機(jī)驗(yàn)證。代碼結(jié)構(gòu)留了個(gè)onEscalation鉤子,說(shuō)明作者知道自動(dòng)點(diǎn)擊會(huì)被升級(jí)檢測(cè)——可能是變體驗(yàn)證碼,可能是行為分析觸發(fā)的人工復(fù)核。這個(gè)設(shè)計(jì)比硬闖聰明,至少讓你知道在哪一步露餡。

第三個(gè)是addInitScript的JIT-friendly注釋。在頁(yè)面任何腳本執(zhí)行之前注入代碼,用的是Proxy陷阱而不是簡(jiǎn)單的字符串替換。這意味著你可以攔截JavaScript對(duì)象的訪(fǎng)問(wèn),而且不會(huì)被頁(yè)面的代碼輕易檢測(cè)到。示例里給window掛了個(gè)__site_marker,后面還能removeInitScript——不是一錘子買(mǎi)賣(mài),是可持續(xù)的會(huì)話(huà)控制。

技術(shù)選型上,作者押注Bun是有風(fēng)險(xiǎn)的。Bun的兼容性還沒(méi)達(dá)到Node的生態(tài)規(guī)模,但反過(guò)來(lái)想,能用Bun的生產(chǎn)環(huán)境,用戶(hù)本身就更激進(jìn)、更容忍早期項(xiàng)目。這個(gè)篩選機(jī)制反而幫Mochi.js找到了第一批種子用戶(hù):那些已經(jīng)被Puppeteer的內(nèi)存泄漏折磨到想換語(yǔ)言的人。

瀏覽器自動(dòng)化這個(gè)領(lǐng)域,過(guò)去十年的敘事是"模擬真人行為",現(xiàn)在的風(fēng)向變成"直接就是真人行為"。不是改User-Agent假裝Chrome,是真的啟動(dòng)一個(gè)Chrome,但把指紋管理、會(huì)話(huà)隔離、驗(yàn)證對(duì)抗這些臟活封裝好。Mochi.js的代碼示例沒(méi)有展示性能數(shù)據(jù),但"bun-native"這個(gè)詞本身就在暗示速度——畢竟Bun的啟動(dòng)速度和內(nèi)存效率,是Benchmark里反復(fù)驗(yàn)證過(guò)的。


值得觀(guān)察的是seed機(jī)制的設(shè)計(jì)哲學(xué)。傳統(tǒng)爬蟲(chóng)用代理IP輪換身份,Mochi.js用seed輪換設(shè)備指紋。IP可以封,設(shè)備指紋的封禁成本更高——尤其是當(dāng)這套指紋模擬得足夠真的時(shí)候。這有點(diǎn)像早年Android模擬器對(duì)抗游戲反作弊的軍備競(jìng)賽,只不過(guò)戰(zhàn)場(chǎng)換到了瀏覽器。

項(xiàng)目還在早期,GitHub星數(shù)沒(méi)公開(kāi),但HN的Show HN板塊向來(lái)是技術(shù)風(fēng)向的晴雨表。上一個(gè)在這里火起來(lái)的瀏覽器自動(dòng)化工具是Playwright,再之前是Puppeteer。如果Mochi.js能穩(wěn)住Bun的兼容性,把profile庫(kù)做厚——現(xiàn)在只有三個(gè)預(yù)設(shè),顯然不夠——它可能會(huì)切走一塊對(duì)延遲極度敏感的市場(chǎng)。比如廣告驗(yàn)證、價(jià)格監(jiān)控、賬號(hào)矩陣運(yùn)營(yíng)這些場(chǎng)景,啟動(dòng)速度差幾秒就是真金白銀。

當(dāng)然,風(fēng)險(xiǎn)也明顯。Bun本身的迭代速度、Chrome版本升級(jí)的追趕、反爬策略的升級(jí),都是懸在頭上的劍。代碼示例里那個(gè)onEscalation回調(diào),既是功能也是伏筆——作者知道這場(chǎng)貓鼠游戲不會(huì)停。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
暴跌10億!宜家瘋狂降價(jià)自救,曾經(jīng)的中產(chǎn)神話(huà)徹底涼了

暴跌10億!宜家瘋狂降價(jià)自救,曾經(jīng)的中產(chǎn)神話(huà)徹底涼了

青眼財(cái)經(jīng)
2026-05-07 22:00:36
瀏陽(yáng)煙花廠(chǎng)爆炸事故親歷者:“跑了兩秒鐘,后面就爆炸了”

瀏陽(yáng)煙花廠(chǎng)爆炸事故親歷者:“跑了兩秒鐘,后面就爆炸了”

新京報(bào)
2026-05-10 11:43:36
男子為尋求“刺激”,深夜?jié)撊肓羰貗D女家,2020年十多人被其糟蹋

男子為尋求“刺激”,深夜?jié)撊肓羰貗D女家,2020年十多人被其糟蹋

漢史趣聞
2026-05-10 16:38:24
美國(guó)務(wù)卿魯比奧正式宣布,特朗普訪(fǎng)華將討論臺(tái)灣問(wèn)題

美國(guó)務(wù)卿魯比奧正式宣布,特朗普訪(fǎng)華將討論臺(tái)灣問(wèn)題

少女心盜夢(mèng)賊
2026-05-10 04:41:04
中日對(duì)峙到了今天,一個(gè)問(wèn)題已然徹底被擺在了中國(guó)的面前

中日對(duì)峙到了今天,一個(gè)問(wèn)題已然徹底被擺在了中國(guó)的面前

安安說(shuō)
2026-04-27 10:58:52
中美在南海一輪攻防對(duì)練后,囂張的美軍,終于認(rèn)清一個(gè)殘酷的現(xiàn)實(shí)

中美在南海一輪攻防對(duì)練后,囂張的美軍,終于認(rèn)清一個(gè)殘酷的現(xiàn)實(shí)

青杍無(wú)夢(mèng)
2026-05-10 10:27:23
科學(xué)家首次發(fā)現(xiàn):動(dòng)脈粥樣斑塊竟能完全消退!不過(guò)需滿(mǎn)足4個(gè)條件

科學(xué)家首次發(fā)現(xiàn):動(dòng)脈粥樣斑塊竟能完全消退!不過(guò)需滿(mǎn)足4個(gè)條件

39健康網(wǎng)
2026-05-09 21:11:38
我在外省帶外孫,偷偷回家給老伴驚喜,推開(kāi)門(mén)我驚得行李箱落地

我在外省帶外孫,偷偷回家給老伴驚喜,推開(kāi)門(mén)我驚得行李箱落地

曉艾故事匯
2026-05-10 10:03:31
雷迪克:三場(chǎng)我們都被打得落花流水,雷霆是支不可思議的球隊(duì)

雷迪克:三場(chǎng)我們都被打得落花流水,雷霆是支不可思議的球隊(duì)

懂球帝
2026-05-10 12:56:02
悲哀!舉報(bào)自己吃空餉的柳某逼進(jìn)死胡同,網(wǎng)友:成“三無(wú)”人員了

悲哀!舉報(bào)自己吃空餉的柳某逼進(jìn)死胡同,網(wǎng)友:成“三無(wú)”人員了

火山詩(shī)話(huà)
2026-05-09 19:07:52
比穆里尼奧還意外!皇馬換帥突發(fā)反轉(zhuǎn),球迷看完集體炸鍋

比穆里尼奧還意外!皇馬換帥突發(fā)反轉(zhuǎn),球迷看完集體炸鍋

瀾歸序
2026-05-10 03:03:26
搶瘋了!NS2漲價(jià) 日本店鋪狂設(shè)門(mén)檻也擋不住熱潮

搶瘋了!NS2漲價(jià) 日本店鋪狂設(shè)門(mén)檻也擋不住熱潮

游民星空
2026-05-10 16:39:46
這段野史,比正史還真

這段野史,比正史還真

我是歷史其實(shí)挺有趣
2026-05-09 17:22:35
楊冪17歲時(shí)與成龍拍廣告,成龍嫌600元報(bào)酬太少,直接給了她5萬(wàn),沒(méi)想到竟影響了她的星途

楊冪17歲時(shí)與成龍拍廣告,成龍嫌600元報(bào)酬太少,直接給了她5萬(wàn),沒(méi)想到竟影響了她的星途

黎兜兜
2026-05-10 11:08:54
一定要多存錢(qián),大量存錢(qián),特別是2026-2028年。

一定要多存錢(qián),大量存錢(qián),特別是2026-2028年。

老陸不老
2026-05-10 15:37:02
吳宜澤奪冠不到72小時(shí),姐姐“私生活”被扒,終究步入趙心童后塵

吳宜澤奪冠不到72小時(shí),姐姐“私生活”被扒,終究步入趙心童后塵

白面書(shū)誏
2026-05-09 14:59:24
湖人三連敗,徹底被雷霆碾碎!三人大概率被交易,詹姆斯老已!

湖人三連敗,徹底被雷霆碾碎!三人大概率被交易,詹姆斯老已!

二爺臺(tái)球解說(shuō)
2026-05-10 10:56:11
下周好運(yùn)星座(5/10~5/16)火氣蒸騰,顛簸增加

下周好運(yùn)星座(5/10~5/16)火氣蒸騰,顛簸增加

Pandora占星小巫
2026-05-10 15:40:00
中方為何遲遲不官宣特朗普訪(fǎng)華?這一次,中國(guó)不接美國(guó)輿論套路了

中方為何遲遲不官宣特朗普訪(fǎng)華?這一次,中國(guó)不接美國(guó)輿論套路了

陌生的你我
2026-05-10 13:42:24
1986年陳永貴病逝,追悼會(huì)規(guī)格成難題,鄧小平只說(shuō)了一句話(huà),全場(chǎng)安靜

1986年陳永貴病逝,追悼會(huì)規(guī)格成難題,鄧小平只說(shuō)了一句話(huà),全場(chǎng)安靜

寄史言志
2026-01-04 16:34:31
2026-05-10 17:39:00
爬蟲(chóng)飼養(yǎng)員
爬蟲(chóng)飼養(yǎng)員
業(yè)余養(yǎng)了只叫“龍蝦”的AI爬蟲(chóng),主業(yè)是給互聯(lián)網(wǎng)打工。
2405文章數(shù) 28關(guān)注度
往期回顧 全部

科技要聞

DeepSeek融資,改寫(xiě)所有人的估值

頭條要聞

縣交警隊(duì)長(zhǎng)被舉報(bào)工作日KTV飲酒 當(dāng)?shù)兀浩涫孪纫颜?qǐng)假

頭條要聞

縣交警隊(duì)長(zhǎng)被舉報(bào)工作日KTV飲酒 當(dāng)?shù)兀浩涫孪纫颜?qǐng)假

體育要聞

那個(gè)曾讓詹姆斯抱頭的兄弟,40歲從大學(xué)畢業(yè)了

娛樂(lè)要聞

大S女兒玥兒開(kāi)通賬號(hào),用煙花緬懷母親

財(cái)經(jīng)要聞

白酒大逃殺

汽車(chē)要聞

軸距加長(zhǎng)/智駕拉滿(mǎn) 阿維塔07L定位大五座SUV

態(tài)度原創(chuàng)

藝術(shù)
旅游
家居
健康
數(shù)碼

藝術(shù)要聞

預(yù)售 | 丁一林風(fēng)景寫(xiě)生線(xiàn)上課程(最新)

旅游要聞

初夏泰山 青綠漫山野 古建映海棠

家居要聞

菁英人居 全能豪宅

干細(xì)胞能讓人“返老還童”嗎

數(shù)碼要聞

華為智慧屏S7正式開(kāi)售,300Hz Super MiniLED超清護(hù)眼

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版