[记录] 我要找到所有个人博客!

2026-04-11 08:141阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

很久以前,就对探索网络社区的社交关系非常感兴趣,于是某天晚上灵光一现,如果从一个随机个人博客出发,自动爬取其友链,根据友链找到新的博客,不断延伸,理论上我可以找到网络上所有的个人博客(以连通图为前提)!

于是,说干就干ovo,主要是在codex的帮助下进行vibecoding (主要是前端确实一窍不通,以及codex生成的前端审美堪忧),主屏幕干活,副屏幕不断编辑需求->跑ai->检查->循环

最终目标是:爬取完所有博客后,部署上线,并在此基础上探索一些可能的价值!例如:作为一个可能的博主之间互相认识的渠道(虽然我感觉需求不多)。

网友解答:
--【壹】--:

厚着脸皮贴一下我的个人网站:HUHA的个人网站 · 作品集与项目展示


--【贰】--:

还没有预览页面哦,好奇会不会爬到我的博客。


--【叁】--:

yesyes,关于这点,我和人讨论过,当时得到的结论是:扩充其它渠道,例如只修改爬虫逻辑,去爬取一些社交平台/学术平台之间用户的联系,将多平台的同一个用户以id对应上,这样一定程度上可以解决这样的问题。但是总之,对我来说,这是一个想想就困难的问题,因此目前来说,就只考虑处于连通图中的“伪”孤岛,在这些“伪”孤岛的更高层面建立一个更直观的联系图,我觉得很有意思 !


--【肆】--:

当前进度

已经边摸鱼边做了大概10天,由于做的比较杂乱,也是第一次做这样子相对较大的项目,如果写的不清晰,欢迎佬友指出!

以下是现在的进度:

技术栈

后端: Python 3.11 + FastAPI + SQLAlchemy
数据库: PostgreSQL
前端: React 19 + TypeScript + Vite
图谱渲染: D3JS

项目使用 Docker Compose 多服务运行

架构

目前采用多服务架构(虽然我觉得有点复杂与冗余了)
frontend 负责页面和浏览器入口,同时代理 /api/*
backend 负责统一对外的公共 API 聚合
crawler 负责抓取、调度和运行时控制
persistence-api 负责 blogs、edges、logs、stats、graph 等核心数据读写与聚合。
调用链:frontend → backend → crawler/persistence-api

爬虫

目前基于规则进行非常粗糙的爬取,具体为:

  • 进入一个博客首页(设置了一个初始的博客作为seed)
  • 自动拼接后缀/friends,/links,等,检查是否有潜在的友链界面
  • 如果有,则进入,爬取该界面中的所有url
  • 对url进行基于规则的过滤,例如:过滤掉gov,org等后缀。同时进行url归一化与去重
  • 将url持久化,同时建立关系(即该博客与该url对应的博客之间建立边)
  • 以BFS策略不断的爬取

其它

目前实现的几个还算完整的使用链路/功能:

  • 用户搜索自己的博客(https://xxxx.top)
  • 如果已经被爬取并收录到数据库,则显示该博客的详细信息: 该博客指向多少个博客,有多少博客指向该博客,博客title,博客icon,推荐(目前采用极其粗糙的推荐,将朋友的朋友推荐给该博主)
  • 如果数据库中没有该博客,则提供了一个提交通道,可以提交自己的博客url,后台会优先对该url进行爬取

图谱可视化,由D3JS构建,每个边都设置了轻微的默认力,所以会自发的形成聚类,下图可以很明显地看到有大改两个聚类,其中上方基本都是博客,下方则是一些公司网站/第三方应用网站等。这是正常的,由于目前的爬虫比较粗糙,会将很多无关的url判定为博客。
image1135×915 292 KB


--【伍】--:

是的!我最近也经常这么做!确实看到了很多有意思的,甚至和朋友说,有机会的话,联系上一些博主,可以做个简单的访谈之类的
其实也可以在这里分享我找到的有意思的博客


--【陆】--:

这个有点牛,不过我觉得成本是不是有点高了,比如不同目标(比如WordPress、typecho、hexo等),以及没有友链怎么办。
另外这个是纯粹好玩才做的么


--【柒】--:

顺便,爬取的过程中,会出于兴趣点进很多博客看
发现,好多博客都是活跃在20-22年,然后就了无音讯了,仔细一想,哦疫情啊,好像又合理了


--【捌】--:

https://agent.yasobi.xyz/ 佬友可以加个我疯友链,我也可以给你加到我的友链里(目前还没有 刚开始写)


--【玖】--:

很酷的想法,顺便请问佬有没有推荐的博客o(^▽^)o


--【拾】--:

我来歪个楼,这个整体的图片,有没有一点像一个大鸡腿,是不是我饿了?


--【拾壹】--:

2026.4.7 TODO

使用更精准的方法判断url是否为博客,目前思路为,训练一个简单的二分类模型,以url和对应的title为输入

  • 构建简单的标注工具,方便我人工标注某条url是否是博客
  • 构建data processing pipeline
  • 搭建模型并进行训练

完善图谱可视化,目前由于不知名原因,加载速度极慢
部署上线!

好!更新到这!争取每周更新两次ovo


--【拾贰】--:

这不一定哦,我的就没有别的友链,完全就是自己的个人记事本。除了自己访问几乎没人访问过


--【拾叁】--:

一开始知道有blog这东西我就喜欢干这事儿hhh 顺着一个人的友链不停去遛弯到别人的,感觉好有意思。
时不时就能碰到一些奇思妙想的博客。


--【拾肆】--: lige:

理论上我可以找到网络上所有的个人博客(以连通图为前提)

我认为理论不成立,因为这个前提就是错的。博客的友链网络大部分都是孤岛,更有的没有友链


--【拾伍】--:

快来找到我的博客地址吧,哈哈。我记得十年之约就有这样的项目,但是佬如果做成,就更大型了


--【拾陆】--:

在我简单且极其不负责任的思维中,如果该项目能有幸帮助到两个不认识的博主发现彼此的关系原来这么紧密(例如发现两人之间竟然有好多相同的友邻),那我觉得就很好了


--【拾柒】--:

哈哈哈,我正好也在做自己的个人站,期待等我发布后成为佬项目中的一个小点


--【拾捌】--:

初中的时候就想过能不能用区块链把这些连在一起,虽然不知道有什么用


--【拾玖】--:

当前进度 (结果层面)

目前总计63,245个url被判定为博客(其中有多少是真实的博客我持怀疑态度,保守估计不超过30%,因为手工排查发现有大量无关网站 ),建立了140,709条边(即这么多数量的友链)

以及,一个非常令我开心的消息,今天凌晨的时候,搜索了一下自己的博客,发现自己的博客被爬取到了,虽然我应该只与4人互相添加过友链。这使我非常亢奋,因为最开始的seed博客,是我曾经有一天在网上查资料的时候找到的一个博客,与我的博客在主观上并没有任何联系。有种自己的工作work了的感觉。当我想要回溯一下过程,看看我的博客是怎么被发现的时候,发现基建太差了,回溯失败)

问题描述:

很久以前,就对探索网络社区的社交关系非常感兴趣,于是某天晚上灵光一现,如果从一个随机个人博客出发,自动爬取其友链,根据友链找到新的博客,不断延伸,理论上我可以找到网络上所有的个人博客(以连通图为前提)!

于是,说干就干ovo,主要是在codex的帮助下进行vibecoding (主要是前端确实一窍不通,以及codex生成的前端审美堪忧),主屏幕干活,副屏幕不断编辑需求->跑ai->检查->循环

最终目标是:爬取完所有博客后,部署上线,并在此基础上探索一些可能的价值!例如:作为一个可能的博主之间互相认识的渠道(虽然我感觉需求不多)。

网友解答:
--【壹】--:

厚着脸皮贴一下我的个人网站:HUHA的个人网站 · 作品集与项目展示


--【贰】--:

还没有预览页面哦,好奇会不会爬到我的博客。


--【叁】--:

yesyes,关于这点,我和人讨论过,当时得到的结论是:扩充其它渠道,例如只修改爬虫逻辑,去爬取一些社交平台/学术平台之间用户的联系,将多平台的同一个用户以id对应上,这样一定程度上可以解决这样的问题。但是总之,对我来说,这是一个想想就困难的问题,因此目前来说,就只考虑处于连通图中的“伪”孤岛,在这些“伪”孤岛的更高层面建立一个更直观的联系图,我觉得很有意思 !


--【肆】--:

当前进度

已经边摸鱼边做了大概10天,由于做的比较杂乱,也是第一次做这样子相对较大的项目,如果写的不清晰,欢迎佬友指出!

以下是现在的进度:

技术栈

后端: Python 3.11 + FastAPI + SQLAlchemy
数据库: PostgreSQL
前端: React 19 + TypeScript + Vite
图谱渲染: D3JS

项目使用 Docker Compose 多服务运行

架构

目前采用多服务架构(虽然我觉得有点复杂与冗余了)
frontend 负责页面和浏览器入口,同时代理 /api/*
backend 负责统一对外的公共 API 聚合
crawler 负责抓取、调度和运行时控制
persistence-api 负责 blogs、edges、logs、stats、graph 等核心数据读写与聚合。
调用链:frontend → backend → crawler/persistence-api

爬虫

目前基于规则进行非常粗糙的爬取,具体为:

  • 进入一个博客首页(设置了一个初始的博客作为seed)
  • 自动拼接后缀/friends,/links,等,检查是否有潜在的友链界面
  • 如果有,则进入,爬取该界面中的所有url
  • 对url进行基于规则的过滤,例如:过滤掉gov,org等后缀。同时进行url归一化与去重
  • 将url持久化,同时建立关系(即该博客与该url对应的博客之间建立边)
  • 以BFS策略不断的爬取

其它

目前实现的几个还算完整的使用链路/功能:

  • 用户搜索自己的博客(https://xxxx.top)
  • 如果已经被爬取并收录到数据库,则显示该博客的详细信息: 该博客指向多少个博客,有多少博客指向该博客,博客title,博客icon,推荐(目前采用极其粗糙的推荐,将朋友的朋友推荐给该博主)
  • 如果数据库中没有该博客,则提供了一个提交通道,可以提交自己的博客url,后台会优先对该url进行爬取

图谱可视化,由D3JS构建,每个边都设置了轻微的默认力,所以会自发的形成聚类,下图可以很明显地看到有大改两个聚类,其中上方基本都是博客,下方则是一些公司网站/第三方应用网站等。这是正常的,由于目前的爬虫比较粗糙,会将很多无关的url判定为博客。
image1135×915 292 KB


--【伍】--:

是的!我最近也经常这么做!确实看到了很多有意思的,甚至和朋友说,有机会的话,联系上一些博主,可以做个简单的访谈之类的
其实也可以在这里分享我找到的有意思的博客


--【陆】--:

这个有点牛,不过我觉得成本是不是有点高了,比如不同目标(比如WordPress、typecho、hexo等),以及没有友链怎么办。
另外这个是纯粹好玩才做的么


--【柒】--:

顺便,爬取的过程中,会出于兴趣点进很多博客看
发现,好多博客都是活跃在20-22年,然后就了无音讯了,仔细一想,哦疫情啊,好像又合理了


--【捌】--:

https://agent.yasobi.xyz/ 佬友可以加个我疯友链,我也可以给你加到我的友链里(目前还没有 刚开始写)


--【玖】--:

很酷的想法,顺便请问佬有没有推荐的博客o(^▽^)o


--【拾】--:

我来歪个楼,这个整体的图片,有没有一点像一个大鸡腿,是不是我饿了?


--【拾壹】--:

2026.4.7 TODO

使用更精准的方法判断url是否为博客,目前思路为,训练一个简单的二分类模型,以url和对应的title为输入

  • 构建简单的标注工具,方便我人工标注某条url是否是博客
  • 构建data processing pipeline
  • 搭建模型并进行训练

完善图谱可视化,目前由于不知名原因,加载速度极慢
部署上线!

好!更新到这!争取每周更新两次ovo


--【拾贰】--:

这不一定哦,我的就没有别的友链,完全就是自己的个人记事本。除了自己访问几乎没人访问过


--【拾叁】--:

一开始知道有blog这东西我就喜欢干这事儿hhh 顺着一个人的友链不停去遛弯到别人的,感觉好有意思。
时不时就能碰到一些奇思妙想的博客。


--【拾肆】--: lige:

理论上我可以找到网络上所有的个人博客(以连通图为前提)

我认为理论不成立,因为这个前提就是错的。博客的友链网络大部分都是孤岛,更有的没有友链


--【拾伍】--:

快来找到我的博客地址吧,哈哈。我记得十年之约就有这样的项目,但是佬如果做成,就更大型了


--【拾陆】--:

在我简单且极其不负责任的思维中,如果该项目能有幸帮助到两个不认识的博主发现彼此的关系原来这么紧密(例如发现两人之间竟然有好多相同的友邻),那我觉得就很好了


--【拾柒】--:

哈哈哈,我正好也在做自己的个人站,期待等我发布后成为佬项目中的一个小点


--【拾捌】--:

初中的时候就想过能不能用区块链把这些连在一起,虽然不知道有什么用


--【拾玖】--:

当前进度 (结果层面)

目前总计63,245个url被判定为博客(其中有多少是真实的博客我持怀疑态度,保守估计不超过30%,因为手工排查发现有大量无关网站 ),建立了140,709条边(即这么多数量的友链)

以及,一个非常令我开心的消息,今天凌晨的时候,搜索了一下自己的博客,发现自己的博客被爬取到了,虽然我应该只与4人互相添加过友链。这使我非常亢奋,因为最开始的seed博客,是我曾经有一天在网上查资料的时候找到的一个博客,与我的博客在主观上并没有任何联系。有种自己的工作work了的感觉。当我想要回溯一下过程,看看我的博客是怎么被发现的时候,发现基建太差了,回溯失败)