返回首页

24小时热榜

2作者: ccheshirecat大约 20 小时前原帖
抓取现代网站已经成为一项巨大的挑战。你基本上有两个选择:要么支付高昂的API费用,比如Firecrawl或Browserbase,要么运行一组无头Chrome实例,每个页面消耗1GB的内存,仍然会被Cloudflare阻止。 我开发了Draco来解决这个问题。它是一个快速的单一二进制文件的网页抓取工具,使用Rust编写。你只需指定一个URL,它就会输出完美干净的Markdown或结构化的JSON,供大型语言模型(LLMs)使用。 它的秘密在于,它并不是为每个请求都启动一个浏览器。它使用了一个分层升级引擎: **第一层(隐秘抓取)**:Draco使用自定义的TLS/JA4指纹,完美模拟真实浏览器在数据包级别的网络签名。事实证明,许多反机器人墙会在你的握手看起来正确时让你顺利通过。在我对Cloudflare和Target等网站的基准测试中,Playwright消耗了约500MB的内存并超时,而Draco在不到一秒的时间内仅使用了20MB的内存就绕过了它们。 **第二层(V8隔离)**:如果它遇到需要渲染的React/Next.js单页应用,Draco会在个位数毫秒内启动一个进程内的V8引擎。它会对DOM进行水合,并拦截页面调用的隐藏JSON API——为你提供原始数据,而无需图形浏览器的开销。 **第三层(真实浏览器)**:如果遇到绝对的障碍,它会无缝地回退到检测并驱动你机器上的真实浏览器。 我还内置了所有工具,使其成为托管服务的完整替代品: **守护进程模式**:运行`draco serve`,你将获得一个持久的HTTP服务器,带有与Firecrawl兼容的REST API。你可以立即更换API密钥并自托管。 **内置MCP服务器**:它原生暴露一个模型上下文协议服务器,可以直接插入Claude Desktop或你的AI代理。 **网页搜索**:内置并行多引擎网页搜索(绕过需要Google搜索API密钥的限制)。 **交互模式**:像开发者工具控制台一样状态驱动页面,在导航之间持久化Cookies(主要用于LLMs)。 它是完全开源的(MIT/Apache-2.0)。我只是想把这个分享给那些厌倦了与无头Chromium作斗争或支付逐页抓取费用的人。下载二进制文件,试试一个困难的URL。 请注意,它仍在开发中,因此可能会出现一些不常见网站的意外故障,但在大多数情况下,它相当强大,可以处理cf保护的网站和重度单页应用,而其他工具在处理时部分或完全失败,并且消耗更多时间或资源。(在example.com、hackernews、cloudflare、glassdoor、bluff.com、target.com、stake.com和thrill.com上进行了测试) ``` ┏━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓ ┃ 排名 ┃ 工具 ┃ 分数 ┃ 通过 ┃ 平均时间 ┃ 平均内存 ┃ ┡━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩ │ #1 │ Draco │ 769.7 │ 8/8 │ 3.45 │ 216.50 │ │ #2 │ Obscura │ 384.5 │ 4/8 │ 2.68 │ 87.59 │ │ #3 │ BrowserOxide │ 373.4 │ 4/8 │ 6.42 │ 105.95 │ │ #4 │ Playwright │ 342.2 │ 4/8 │ 1.71 │ 535.07 │ │ #5 │ Bouncy │ 196.6 │ 2/8 │ 0.59 │ 19.38 │ └──────┴────────────────┴───────┴──────┴──────────┴─────────┘ ``` 仓库地址: [https://github.com/0xchasercat/draco/](https://github.com/0xchasercat/draco/)
2作者: arcaege大约 20 小时前原帖
前几天我在我的Framework设备上查看iio设备,发现Framework 12的铰链角度传感器相当准确!于是我为Linux上的Framework 12制作了一个LidAngleSensor的版本(<a href="https:&#x2F;&#x2F;github.com&#x2F;samhenrigold&#x2F;LidAngleSensor" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;samhenrigold&#x2F;LidAngleSensor</a>),这样你就可以让你的铰链发出生锈的声音。
2作者: zazuke大约 21 小时前原帖
作者在此。大约660条笔记发布于一个包含8,360条(300万字)的私密Obsidian库中。大约在2011年开始使用OneNote,2021年迁移到Obsidian [1],并通过Python脚本将所有内容导入 [2]。 笔记随着时间的推移不断积累,这也是我写作的来源。关于语义层的笔记始于2022年,后来发展成四篇博客系列,最终成为我书中的一章。物化视图、一个大表、dbt和OLAP是几年前分别写的独立笔记。我后来才注意到它们之间的相同模式,这又成为了另一章。 发布:在笔记中添加#publish,运行`make deploy`。使用Quartz + Hugo,将内容同步到我自己的服务器 [3]。代码 [4]。在图谱上进行语义搜索 [5]。 [1] <a href="https:&#x2F;&#x2F;www.ssp.sh&#x2F;blog&#x2F;how-to-take-notes-in-2021&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ssp.sh&#x2F;blog&#x2F;how-to-take-notes-in-2021&#x2F;</a> [2] <a href="https:&#x2F;&#x2F;www.ssp.sh&#x2F;blog&#x2F;how-to-take-notes-in-2021&#x2F;#how-did-i-export-my-10-of-onenote-to-markdown" rel="nofollow">https:&#x2F;&#x2F;www.ssp.sh&#x2F;blog&#x2F;how-to-take-notes-in-2021&#x2F;#how-did-i...</a> [3] <a href="https:&#x2F;&#x2F;www.ssp.sh&#x2F;brain&#x2F;public-second-brain-with-quartz&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ssp.sh&#x2F;brain&#x2F;public-second-brain-with-quartz&#x2F;</a> [4] <a href="https:&#x2F;&#x2F;github.com&#x2F;sspaeti&#x2F;second-brain-public" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sspaeti&#x2F;second-brain-public</a> [5] <a href="https:&#x2F;&#x2F;explore.ssp.sh" rel="nofollow">https:&#x2F;&#x2F;explore.ssp.sh</a>