分类 Linux 下的文章

项目地址:https://github.com/zhegexiaohuozi/seimi-render(Apache 2.0 开源)

从一个老问题说起

做爬虫、做数据采集、做内容聚合的同学,大概都绕不开一个场景:拿到一个 URL,我要的不是它 curl 出来的那段 HTML,而是「人在浏览器里看到的那一页」——JS 跑完之后的内容、登录态后面才能看到的页面、搜索结果里去掉广告的结构化结果。

这条路传统上有几个老掉牙的方案:

  • requests + BeautifulSoup:对 SPA 和动态页面直接歇菜,拿到的是空壳。
  • Selenium / Playwright:能跑,但每个任务要拉起一个完整浏览器进程,重、慢、不稳定,并发起来资源开销惊人。
  • 直接复用日常浏览器:有人图省事,挂个插件或用 puppeteer 连到自己平时用的 Chrome 上跑自动化。但这玩意儿是双向干扰的——自动化跑起来窗口一直在跳、标签页乱切,严重打扰你正常上网;反过来,你随手点个标签、关个页面、甚至切去别的网站,也会干扰甚至直接搞崩正在跑的采集流程。人和机器抢同一个浏览器,谁都别想舒服。
  • 商业渲染 API:能用,但贵、有限额、cookie 登录态完全没法自己掌控。
  • 搜索 API:贵,很贵。

而 2026 年大家又多了一个新需求:AI Agent 要读网页怎么办? Claude Code、Cursor、ZCode 这些 coding agent,本身没有「真实浏览器」这个能力,遇到「帮我看一下这个链接讲了什么」「帮我搜一下这个关键词」就卡住了——它们要么没有联网工具,要么只能用简陋的 fetch,拿不到 JS 渲染后的真实内容。

seimi-render 就是冲着这两个老痛点 + 一个新需求来的。

- 阅读剩余部分 -

声明

本篇文章纯粹为了向还不是很了解SeimiAgent的同学演示下SeimiAgent的部分能力,目标网站随意选的,并没有其他目的。

SeimiAgent简介

SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等参数),通过SeimiAgent去加载并渲染想要处理的动态页面,然后将渲染好的页面直接返给调用方进行后续处理,所以运行的SeimiAgent服务是与语言无关的,任何一种语言或框架都可以通过SeimiAgent提供的标准http接口来获取服务。SeimiAgent的加载渲染环境都是通用浏览器级的,所以不用担心他对动态页面的处理能力。同时支持渲染生成页面快照(png)和PDF,亦支持自定义js脚本处理基本渲染后的页面,具体请参见官方使用说明。

正文

视频分享

为了更为直观的了解,可以先看下分享在优酷上视频,点击地址直达

下面会是图片版的详细介绍

- 阅读剩余部分 -

前言

曾几何时,动态页面(ajax,内部js二次渲染等等)信息提取一直都是爬虫开发者的心痛点,一句话,实在没有合适的工具。尤其在Java里面,像htmlunit这种工具都算得上解析动态页面的神器了,但是他依然不够完备,达不到浏览器级的解析效果,遇到稍微复杂点的页面就不行了。在经历的各种痛与恨后,笔者决定干脆开发一款专为应对抓取,监控,以及测试这类场景使用的动态页面渲染处理服务器。要达到浏览器级的效果,那必须基于浏览器内核来开发,幸运的是我们有开源的webkit,更为幸运的是我们有对开发者更为友好的QtWebkit。所以SeimiAgent就这样诞生了。

- 阅读剩余部分 -