我在每周固定获取信息流

信息流 每周信息梳理
  • 上周

    • 时间花费

      • 没有每天看新闻, 之前我都有每天看 folo 的习惯

      • 但是考虑到信息焦虑, 我依然开始使用 perplexity 看信息, 然而这比我之前花费的时间少多了

      • 但是我依然在看 bili, 看 zhihu

        • 对于 bili, 我认为这个平台已经没有优质内容了, 即使有, 也是藏在一堆 💩 里面, 要找到这些, 就必须先找 💩, 里面更多的是用夸张手法讲述一些何不食肉糜的东西, 或者整活, 或者搞慈善, 都是一些消费人群注意力, 消费人群同情心的内容, 而不是真正给人带来快乐

          • 在这个平台我无法得到优质信息, 而一些分析国际形势的博主比如小王, 比如玉渊谭天, 做的视频越来越水并且慢慢靠近主流价值观, 在我看来, 获取信息的密度和有效性不如我在 perplexity 上面问两下
        • 对于 zhihu

          • 那真是烂中烂, 热搜上十个热搜, 可能就两三个实时, 其他的是"假如...", "为什么年轻人...", 这种意淫以及以偏概全的内容

          • 但是这个平台很奇葩, 一方面大量无法自主思考, 情绪发言的用户能够获得评论权, 一方面又有大量的高知分子在里面解答问题, 而通过权重, 将评论发言分层, 让大家进入一个回答, 首先看到的就是经过思考后的内容, 但是一旦往下翻, 就会发现逐渐主观化和情绪化

          • 所以我建议找到领域内博主, 使用油猴插件找到博主的所有的信息

            • 这里分享我用 ai 写的一个脚本

            • 实测很好用

              • // ==UserScript== // @name 知乎用户内容爬取器 (全自动网页解析版) // @namespace http://tampermonkey.net/ // @version 2025.06.19.8 // @description 一键全自动抓取用户所有回答、文章和想法。通过模拟滚动和跨页面状态管理,实现全自动流程。已修复文章URL路径及404页面中断问题。 // @author Gemini // @match https://www.zhihu.com/people/*/* // @icon https://static.zhihu.com/static/favicon.ico // @grant GM_addStyle // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @require https://cdn.jsdelivr.net/npm/turndown/dist/turndown.js // @require https://cdn.jsdelivr.net/npm/showdown/dist/showdown.min.js // ==/UserScript== (function() { 'use strict'; // --- 初始化服务 --- const turndownService = new TurndownService({ headingStyle: 'atx', codeBlockStyle: 'fenced' }); const showdownConverter = new showdown.Converter(); // --- UI界面 --- function setupUI(job) { if (!document.getElementById('crawler-panel')) { GM_addStyle(` #crawler-panel { position: fixed; bottom: 20px; right: 20px; width: 220px; background-color: #f9f9f9; border: 1px solid #ccc; border-radius: 8px; z-index: 9999; padding: 15px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); font-size: 14px; color: #333; display: flex; flex-direction: column; gap: 10px; } #crawler-btn, #crawler-cancel-btn { border: none; padding: 10px; border-radius: 5px; cursor: pointer; font-weight: bold; transition: background-color 0.3s; } #crawler-btn { background-color: #0084ff; color: white; } #crawler-cancel-btn { background-color: #e74c3c; color: white; } #crawler-btn:disabled { background-color: #ccc; cursor: not-allowed; } #crawler-status { text-align: center; font-weight: 500; color: #555; word-wrap: break-word; min-height: 2em; display: flex; align-items: center; justify-content: center; } `); const panel = document.createElement('div'); panel.id = 'crawler-panel'; document.body.appendChild(panel); } const panel = document.getElementById('crawler-panel'); if (job && job.isRunning) { const currentSectionName = getSectionName(job.targetSections[job.currentSectionIndex]); panel.innerHTML = ` <div id="crawler-status">全自动抓取进行中...<br>当前目标: <strong>${currentSectionName}</strong></div> <button id="crawler-cancel-btn">取消任务</button> `; panel.querySelector('#crawler-cancel-btn').addEventListener('click', cancelJob); } else { panel.innerHTML = ` <div id="crawler-status">准备就绪</div> <button id="crawler-btn">开始全自动抓取</button> `; panel.querySelector('#crawler-btn').addEventListener('click', startFullAutomation); } } // --- 核心状态管理和抓取逻辑 --- // 页面加载时的主入口函数 async function main() { const job = GM_getValue('scrapingJob', null); if (job && job.isRunning) { // 【修复 1】: 检查404页面 if (document.querySelector('.ErrorPage-title')) { console.log("知乎爬取器: 检测到404页面,自动跳过。"); updateStatus('页面不存在(404),自动跳过...'); const expectedType = job.targetSections[job.currentSectionIndex]; job.scrapedData[expectedType] = `## ${getSectionName(expectedType)}\n\n该用户没有发表过任何内容,或该页面不存在(404 Not Found)。\n\n---\n\n`; job.currentSectionIndex++; GM_setValue('scrapingJob', job); if (job.currentSectionIndex >= job.targetSections.length) { finishJob(job); } else { navigateToNextSection(job); } return; // 结束在404页面的所有操作 } // 检查任务是否对当前用户有效 const currentUserId = window.location.pathname.split('/')[2]; if (job.userId !== currentUserId) { alert('检测到其他用户的抓取任务,已自动取消。'); cancelJob(); return; } } setupUI(job); if (job && job.isRunning) { await runAutomatedTask(job); } } // 启动全自动流程 function startFullAutomation() { if (!confirm('即将开始全自动抓取所有内容(回答、文章、想法)。期间页面会自动跳转,请勿关闭。要开始吗?')) { return; } const job = { isRunning: true, // 【修复 2】: 更新文章区路径为 'posts' targetSections: ['answers', 'posts', 'pins'], currentSectionIndex: 0, username: document.querySelector('.ProfileHeader-name')?.innerText || '未知用户', userId: window.location.pathname.split('/')[2], scrapedData: {} }; GM_setValue('scrapingJob', job); navigateToNextSection(job); } // 执行单个页面的自动化任务 async function runAutomatedTask(job) { const pageType = getCurrentPageType(); const expectedType = job.targetSections[job.currentSectionIndex]; if (pageType !== expectedType) { navigateToNextSection(job); return; } try { const mdContent = await scrapeCurrentPage(); job.scrapedData[pageType] = mdContent; job.currentSectionIndex++; GM_setValue('scrapingJob', job); if (job.currentSectionIndex >= job.targetSections.length) { finishJob(job); } else { navigateToNextSection(job); } } catch (e) { alert(`抓取过程中发生严重错误: ${e.message}。任务已取消。`); console.error(e); cancelJob(); } } function finishJob(job) { updateStatus('所有内容抓取完毕!正在合并...'); const finalContent = combineAllData(job); downloadAsMarkdown(finalContent, `${job.username}_知乎合集`); cancelJob(); // 清理任务 // 延迟更新UI,避免“下载完成”消息一闪而过 setTimeout(() => { if (document.getElementById('crawler-panel')) { updateStatus('全部完成!文件已下载。'); } }, 1000); } // 用于抓取当前页面的函数 async function scrapeCurrentPage() { const pageType = getCurrentPageType(); const sectionName = getSectionName(pageType); updateStatus(`正在加载【${sectionName}】,请稍候...`); await new Promise(resolve => { let lastHeight = 0; const interval = setInterval(() => { window.scrollTo(0, document.body.scrollHeight); if (document.querySelector('.List-item-end')) { clearInterval(interval); resolve(); return; } const currentHeight = document.body.scrollHeight; if (currentHeight === lastHeight) { clearInterval(interval); resolve(); } else { lastHeight = currentHeight; } }, 1000); }); updateStatus('正在展开所有“阅读全文”...'); document.querySelectorAll('.ContentItem-more, .Button.RichContent-collapsedText').forEach(b => b.click()); await new Promise(r => setTimeout(r, 1000)); updateStatus(`正在解析所有【${sectionName}】...`); let sectionContent = `## ${sectionName}\n\n`; const items = document.querySelectorAll('.List-item'); if (items.length === 0) return `## ${sectionName}\n\n该用户没有发表过任何${sectionName}。\n\n---\n\n`; for (const item of items) { const parsedMd = parseItemToMarkdown(item, pageType); if (parsedMd) sectionContent += parsedMd; } return sectionContent + '\n---\n\n'; } // 解析单个DOM节点为Markdown function parseItemToMarkdown(item, type) { try { let title = '', url = '', contentHtml = '', voteup = 'N/A'; let md = ''; const voteupElement = item.querySelector('.VoteButton--up'); if (voteupElement) voteup = voteupElement.ariaLabel.replace(/[^0-9]/ig, "") || '0'; const contentElement = item.querySelector('.RichContent-inner, .Post-RichTextContainer'); if (contentElement) contentHtml = contentElement.innerHTML; const linkElement = item.querySelector('.ContentItem-title a, .Post-Title a'); if (linkElement) url = linkElement.href; switch (type) { case 'answers': title = item.querySelector('.ContentItem-title a')?.innerText; if (!title) return null; md += `### Q: [${title}](${url})\n\n**赞同数:** ${voteup}\n**回答链接:** ${item.querySelector('.ContentItem-meta a.Link--primary')?.href}\n\n`; break; case 'posts': // 更新文章选择器 title = item.querySelector('.Post-Title a')?.innerText; if (!title) return null; md += `### 📄 [${title}](${url})\n\n**赞同数:** ${voteup}\n\n`; break; case 'pins': md += `### 📌 想法\n\n**赞同数:** ${voteup}\n`; const pinUrl = item.querySelector('.ContentItem-meta a.Link--primary')?.href; if (pinUrl) md += `**想法链接:** ${pinUrl}\n\n`; break; } if (contentHtml) md += turndownService.turndown(showdownConverter.makeHtml(contentHtml)); return md + '\n\n---\n\n'; } catch (e) { return `\n\n> [!] 此项目解析失败\n\n---\n\n`; } } // --- 辅助及工具函数 --- function navigateToNextSection(job) { const nextSection = job.targetSections[job.currentSectionIndex]; const url = `https://www.zhihu.com/people/${job.userId}/${nextSection}`; updateStatus(`即将跳转到【${getSectionName(nextSection)}】页面...`); setTimeout(() => { window.location.href = url; }, 2000); } function combineAllData(job) { let finalContent = `# ${job.username} 的知乎内容合集\n\n`; job.targetSections.forEach(section => { if (job.scrapedData[section]) { finalContent += job.scrapedData[section]; } }); return finalContent; } function cancelJob() { GM_deleteValue('scrapingJob'); location.reload(); } function updateStatus(message) { const statusEl = document.getElementById('crawler-status'); if (statusEl) statusEl.innerHTML = message.replace('\n', '<br>'); } function getSectionName(type) { return { answers: '回答', posts: '文章', pins: '想法' }[type] || '未知'; } function getCurrentPageType() { const path = window.location.pathname; if (path.endsWith('/answers')) return 'answers'; if (path.endsWith('/posts')) return 'posts'; // 识别/posts if (path.endsWith('/articles')) return 'posts'; // 兼容旧的/articles if (path.endsWith('/pins')) return 'pins'; return 'unknown'; } function downloadAsMarkdown(content, filename) { const safeFilename = filename.replace(/[/\\?%*:|"<>]/g, '-'); const blob = new Blob([content], { type: 'text/markdown;charset=utf-8' }); const dataUrl = URL.createObjectURL(blob); const a = document.createElement('a'); const date = new Date(); const dateStr = `${date.getFullYear()}${(date.getMonth() + 1).toString().padStart(2, '0')}${date.getDate().toString().padStart(2, '0')}`; a.href = dataUrl; a.download = `${safeFilename}_${dateStr}.md`; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(dataUrl); } // --- 脚本启动 --- setTimeout(main, 1000); })();
        • 自我情绪化内容说多了, 其实就一个, 在这些平台, 我们是信息的被动接受者, 我是一个容易情绪化的人, 我不喜欢被带着跑, 所以我选择主动选择信息而不是被动接受信息

    • 心得

      • 上周也没看多少新闻

        • 但是日常生活没有更多影响, 我的阅读注意力都在微信读书和思源笔记里面, 感觉很舒服

        • 并且我也没有显现一些信息焦虑, 因为我本来就知道这些信息是可以不看的

          • 所以, 对于信息, 我们需要筛选, 筛选我们是否需要知道它
      • 对于原有的信息流程, 虽然每天接收的信息很多, 但大部分是没有用的, 看了以后没有思考, 就记住有这件事, 并且占用了我们获取自己信息的时间,这是不健康的

  • 本周

    • 这周梳理信息之后, 我发现信息太庞大了

      • image

      • 太多内容了, 难以梳理, 得找办法了

        • ai 问题解决

          • 我的流程

            • 材料收集

              • 首先处理材料, 在 folo 中游览信息内容, 然后找到需要泛读和需要精读的, 存储起来

                • 使用 siyuan 剪切, 这时候能够自动打标
            • 材料处理

              • 接着在思源中使用数据库进行梳理, 直接使用动态数据库自动添加信息内容
              • 并且对信息内容进行打标处理, 分为精读, 泛读(在材料收集阶段, 就已经过滤了不值得看的了)
            • 材料阅读

              • 对于材料要用这几个方法阅读

                • 带着问题去读
                • 原子化阅读, 遇到有效新闻, 则使用标记, 自动标记句子, 然后使用 sql 将这些标记摘取
                • 重新叙述并且关联, 将这个信息和其他信息进行双向关联, 比如使用双向链接

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • TangQi 1

    @dammy 老登的方法是正确的!!!!!!!

  • 固定来源的信息,难免变成 echo chamber,按照主题搜索,又难免遗漏,蹲一个解决方案

    1 回复
  • GloR via Android

    xs“即使有, 也是藏在一堆 💩 里面, 要找到这些, 就必须先找”深有同感,现在基本大多数自媒体平台都是这样,要是有个 ai 能帮我把不是 💩 的内容筛选出来就好了

  • DataWealth 1 评论

    folo 就是不能订阅公众号有点难受。

    信息爆炸的时代,快速筛选有用的信息是个很大的负担

    1 回复
    可以订阅啊,需要自己定制,否则只能订阅别人做过的
    MasterYS
  • TangQi

    回声室效应:指一些拥有相近想法的群体借由不断沟通与认同彼此想法,使得那些相似的想法不断被放大与加强的现象

    我觉得回声室效应对我这个流程来说不存在

    因为我不参与社交讨论, 信息放到 siyuan 以后我只会和 ai 讨论, 主流社交媒体上和你讨论这些信息内容的傻逼不如 perplexity 毛一根

    并且你可以固定时间更换自己的信息源, 比如每两个月换一次这种, 我觉得挺好的

  • TangQi

    可以的, 有网站支持, 不过要付费

    1 回复
  • 我用 distill 浏览器插件自动抓取感兴趣的网页

  • 有没有运行较长的网站推荐?一般年费在多少比较合适呢

  • 你好,思源里面这个字体挺好看的,可以给个关键词吗?

请输入回帖内容 ...

推荐标签 标签

  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 2 关注
  • Word
    13 引用 • 41 回帖
  • CodeMirror
    2 引用 • 17 回帖 • 174 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 280 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    25 引用 • 254 回帖 • 1 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 483 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 673 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 825 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖 • 2 关注
  • Visio
    1 引用 • 2 回帖 • 2 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 71 关注
  • AWS
    11 引用 • 28 回帖 • 6 关注
  • danl
    179 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    187 引用 • 832 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    955 引用 • 944 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    37 引用 • 157 回帖 • 1 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 697 关注
  • 叶归
    13 引用 • 59 回帖 • 22 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 36 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 41 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    32 引用 • 99 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 2 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    134 引用 • 1127 回帖 • 107 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • 导航

    各种网址链接、内容导航。

    45 引用 • 177 回帖 • 1 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖