用多模態模型,寫新一代爬蟲

字節有一個很實用但不怎麼火的項目,叫 Midscene.js,Chrome 商店上的安裝數僅有 1 萬,它是一個由多模態模型驅動的前端自動化測試插件。自動化測試我平常很少用到,但我發現它特別適合用來寫爬蟲……

Midscene.js 一共就三大 API:Action、Query、Assert

Action 交互

描述步驟並執行交互。例如,在 GitHub 上交互:查找 GitHub 上的 Twikoo 項目,點進詳情頁,點個 Star——

Query 提取

從 UI 中 “理解” 並提取數據,返回值是 JSON 格式,想要什麼數據結構,它都可以給你。例如,在面試題寶典網站上提取:string[],所有面試題目——

Assert 斷言

判斷是否符合指定條件。例如,在智能家庭頁面斷言:電腦是關着的——

大模型支持情況

項目最初僅支持 GPT-4o 模型,跑一行用例的成本在 ¥0.1 左右,還挺貴的,後來支持了 Qwen-2.5-VL 和 UI-TARS,成本就大幅降低了。以下就以千問模型爲例,帶領大家上手這個神奇的插件。

安裝

可以直接從 Chrome 商店安裝:
https://chromewebstore.google.com/detail/midscene/gbldofcpkknbggpkmbdaefngejllnief

配置

從瀏覽器右上角的插件菜單中打開 Midscene.js 的側邊欄,會提示 No config,點擊按鈕會彈出 Env Config 的設置框,在裏面配置以下變量

OPENAI_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
MIDSCENE_MODEL_
MIDSCENE_USE_QWEN_VL=1

其中的 OPENAI_API_KEY 需要你自己申請,申請的地址是:
https://bailian.console.aliyun.com/?apiKey=1#/api-key

以上鍊接不包含推廣,如果你是首次開通阿里雲百鍊,新用戶是有免費額度的,請注意額度的有效期,避免浪費~

測試

接下來用自然語言隨便寫一條指令,點擊 Run 按鈕,見證 AI 開始接管你的瀏覽器……

代碼集成

接下來我們嘗試編寫爬蟲,組合這三大 API,完成複雜的自動化任務。

建一個新的 Node.js 項目,安裝所需的依賴——

pnpm install @midscene/web tsx --save-dev

編寫腳本 main.ts,執行你想要進行的操作,例如,打開必應,輸入 iMaeGoo 點擊搜索,並輸出搜索結果——

import { AgentOverChromeBridge } from"@midscene/web/bridge-mode";

functionsleep(ms: number) {
returnnewPromise((r) =>setTimeout(r, ms));
}

asyncfunctionmain() {
  process.env.OPENAI_BASE_URL =
    "https://dashscope.aliyuncs.com/compatible-mode/v1";
  process.env.OPENAI_API_KEY = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
  process.env.MIDSCENE_MODEL_NAME = "qwen-vl-max-latest";
  process.env.MIDSCENE_USE_QWEN_VL = 1;
const agent = newAgentOverChromeBridge();
// 這個方法將連接到你的桌面 Chrome 的新標籤頁
// 記得啓動你的 Chrome 插件,並點擊 'allow connection' 按鈕。否則你會得到一個 timeout 錯誤
await agent.connectNewTabWithUrl("https://www.bing.com");
// 這些方法與普通 Midscene agent 相同
await agent.ai("輸入 iMaeGoo 點擊搜索");
const result = await agent.aiQuery(
    "{title: string, url: string}[], 搜索結果"
  );
console.log("搜索結果", result);
awaitsleep(3000);
await agent.destroy();
}

main();

啓動你的 Chrome 插件,點擊 Bridge Mode,再點擊'Allow connection' 按鈕——

隨後運行腳本——

pnpx tsx main.ts

可以看到腳本成功打印出了搜索結果——

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/4IPZ2279czxcq72Y4kG-lQ