diff --git a/all.json b/all.json index 3151e94..3952467 100644 --- a/all.json +++ b/all.json @@ -1,12 +1,33 @@ { "statistical_data": { "friends_num": 82, - "active_num": 66, - "error_num": 16, - "article_num": 298, - "last_updated_time": "2024-08-11 14:29:19" + "active_num": 76, + "error_num": 6, + "article_num": 346, + "last_updated_time": "2024-08-11 21:32:53" }, "article_data": [ + { + "title": "修车留下的坑", + "created": "2024-08-12 03:46", + "link": "https://xiangming.site/858.html", + "author": "湘铭", + "avatar": "https://cdn.qyliu.top/i/2024/04/19/6622928fc416c.png" + }, + { + "title": "近期折腾简记", + "created": "2024-08-11 08:00", + "link": "https://www.yoghurtlee.com/recent-tinkering-summary/", + "author": "Chlorine", + "avatar": "https://cdn.qyliu.top/i/2024/08/07/66b2daf9ab79f.webp" + }, + { + "title": "【日记】2024.08.10", + "created": "2024-08-11 02:28", + "link": "https://www.xingmail.cn/journal-of-2024-08-10/", + "author": "往日信笺", + "avatar": "https://cdn.qyliu.top/i/2024/04/14/661bf476a6d8d.png" + }, { "title": "我的Web生活宝典:Linux命令集", "created": "2024-08-10 19:37", @@ -14,6 +35,13 @@ "author": "刘郎阁", "avatar": "https://cdn.qyliu.top/i/2024/04/19/66229406a68df.png" }, + { + "title": "【日记】2024.08.09", + "created": "2024-08-10 02:13", + "link": "https://www.xingmail.cn/journal-of-2024-08-09/", + "author": "往日信笺", + "avatar": "https://cdn.qyliu.top/i/2024/04/14/661bf476a6d8d.png" + }, { "title": "魔改笔记七:分类条及外链卡片", "created": "2024-08-10 01:39", @@ -56,6 +84,20 @@ "author": "obaby", "avatar": "https://cdn.qyliu.top/i/2024/04/15/661d443b5359c.png" }, + { + "title": "科技爱好者周刊(第 312 期):从英特尔看\"美国制造\"", + "created": "2024-08-09 08:12", + "link": "http://www.ruanyifeng.com/blog/2024/08/weekly-issue-312.html", + "author": "阮一峰", + "avatar": "https://cdn.qyliu.top/i/2024/04/29/662fbca75b9fe.png" + }, + { + "title": "【日记】2024.08.08", + "created": "2024-08-09 03:44", + "link": "https://www.xingmail.cn/journal-of-2024-08-08/", + "author": "往日信笺", + "avatar": "https://cdn.qyliu.top/i/2024/04/14/661bf476a6d8d.png" + }, { "title": "在群晖上部署一个私有化聊天工具", "created": "2024-08-09 01:27", @@ -77,6 +119,13 @@ "author": "虹墨", "avatar": "https://cdn.qyliu.top/i/2024/05/31/6659668724466.png" }, + { + "title": "【日记】2024.08.07", + "created": "2024-08-08 01:52", + "link": "https://www.xingmail.cn/journal-of-2024-08-07/", + "author": "往日信笺", + "avatar": "https://cdn.qyliu.top/i/2024/04/14/661bf476a6d8d.png" + }, { "title": "😘 2024.8.1周刊", "created": "2024-08-07 20:41", @@ -126,6 +175,13 @@ "author": "风记星辰", "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af2d2430f68.webp" }, + { + "title": "【日记】2024.08.06", + "created": "2024-08-06 22:47", + "link": "https://www.xingmail.cn/journal-of-2024-08-06/", + "author": "往日信笺", + "avatar": "https://cdn.qyliu.top/i/2024/04/14/661bf476a6d8d.png" + }, { "title": "手把手教你搭建一个站点·域名:将DNS转移到Cloudflare", "created": "2024-08-06 21:54", @@ -224,6 +280,13 @@ "author": "杜老师说", "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af33a4d6643.webp" }, + { + "title": "2024年7月杂记", + "created": "2024-08-03 08:18", + "link": "https://www.baiwulin.com/98.html", + "author": "雾林博客", + "avatar": "https://cdn.qyliu.top/i/2024/08/02/66ac3b75826cb.webp" + }, { "title": "真·彩虹猫加载动画", "created": "2024-08-03 01:12", @@ -273,6 +336,13 @@ "author": "张洪Heo", "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af2e22827be.webp" }, + { + "title": "科技爱好者周刊(第 311 期):低利率与长期项目", + "created": "2024-08-02 08:12", + "link": "http://www.ruanyifeng.com/blog/2024/08/weekly-issue-311.html", + "author": "阮一峰", + "avatar": "https://cdn.qyliu.top/i/2024/04/29/662fbca75b9fe.png" + }, { "title": "Ephemeralis-Weekly(4):缝隙之间", "created": "2024-08-02 08:00", @@ -484,11 +554,11 @@ "avatar": "https://cdn.qyliu.top/i/2024/05/04/66351f5b62b65.png" }, { - "title": "解决Swup导致的JavaScript加载失效问题", - "created": "2024-07-26 08:00", - "link": "https://www.yoghurtlee.com/swup-modifying/", - "author": "Chlorine", - "avatar": "https://cdn.qyliu.top/i/2024/08/07/66b2daf9ab79f.webp" + "title": "科技爱好者周刊(第 310 期):内容农场的 AI 赚钱术", + "created": "2024-07-26 08:05", + "link": "http://www.ruanyifeng.com/blog/2024/07/weekly-issue-310.html", + "author": "阮一峰", + "avatar": "https://cdn.qyliu.top/i/2024/04/29/662fbca75b9fe.png" }, { "title": "空气炸锅维修", @@ -518,13 +588,6 @@ "author": "ChrisKim", "avatar": "https://cdn.qyliu.top/i/2024/06/27/667d880789765.webp" }, - { - "title": "今年首个台风红警 格美变超强台风", - "created": "2024-07-24 22:24", - "link": "https://xiangming.site/842.html", - "author": "湘铭", - "avatar": "https://cdn.qyliu.top/i/2024/04/19/6622928fc416c.png" - }, { "title": "从“端口无法访问”到本地环境问题——朋友的博客踩坑记录", "created": "2024-07-24 21:20", @@ -658,6 +721,13 @@ "author": "dreamChaser", "avatar": "https://cdn.qyliu.top/i/2024/03/22/65fc59b439430.png" }, + { + "title": "白嫖PokePay的U卡", + "created": "2024-07-15 20:02", + "link": "https://blog.qjqq.cn/posts/4226.html", + "author": "青桔气球", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/661241402f02a.png" + }, { "title": "肺系病的方证用药", "created": "2024-07-15 02:28", @@ -693,6 +763,13 @@ "author": "痕迹小站", "avatar": "https://cdn.qyliu.top/i/2024/05/31/6659688bbf14b.png" }, + { + "title": "近日总结:期末&软路由", + "created": "2024-07-14 16:55", + "link": "https://blog.duolaa.asia/archives/1720945390656", + "author": "一府", + "avatar": "https://cdn.qyliu.top/i/2024/04/19/662145a134a68.png" + }, { "title": "最近折腾群晖那点事", "created": "2024-07-13 23:07", @@ -770,6 +847,13 @@ "author": "辞琼", "avatar": "https://cdn.qyliu.top/i/2024/04/27/662d1c9b7efe1.png" }, + { + "title": "软云(服务器商家)跑路了", + "created": "2024-07-08 21:40", + "link": "https://pipuwong.com/the-vps-hosting-services-shut-down-without-prior-notice", + "author": "皮普", + "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f1b29c34a.png" + }, { "title": "高效利用 GitHub 搜索,精准快速获取所需", "created": "2024-07-08 18:27", @@ -966,6 +1050,13 @@ "author": "六月是只猫", "avatar": "https://cdn.qyliu.top/i/2024/05/31/66597328bdd51.png" }, + { + "title": "注册Netlify账号并激活的方法", + "created": "2024-06-26 08:13", + "link": "https://www.baiwulin.com/89.html", + "author": "雾林博客", + "avatar": "https://cdn.qyliu.top/i/2024/08/02/66ac3b75826cb.webp" + }, { "title": "优化Windows 11体验:切换Win10风格的文件资源管理器消除电脑卡顿问题", "created": "2024-06-25 15:04", @@ -980,6 +1071,13 @@ "author": "SerMs", "avatar": "https://cdn.qyliu.top/i/2024/06/23/6678094c8d38d.webp" }, + { + "title": "Solitude主题魔改(二):侧边栏个性时钟", + "created": "2024-06-23 20:33", + "link": "https://byer.top/posts/239dbb2d.html", + "author": "星の野", + "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af2ed96cd7d.webp" + }, { "title": "OFDM学习过程及仿真", "created": "2024-06-23 20:07", @@ -1008,6 +1106,13 @@ "author": "六月是只猫", "avatar": "https://cdn.qyliu.top/i/2024/05/31/66597328bdd51.png" }, + { + "title": "Solitude主题魔改(一):首页三栏显示", + "created": "2024-06-21 22:01", + "link": "https://byer.top/posts/1161ac79.html", + "author": "星の野", + "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af2ed96cd7d.webp" + }, { "title": "【开源项目】QtScrcpy:一个友好强大的Scrcpy升级版项目", "created": "2024-06-21 19:43", @@ -1106,6 +1211,13 @@ "author": "梦爱吃鱼", "avatar": "https://cdn.qyliu.top/i/2024/08/02/66acfd1f993ce.webp" }, + { + "title": "光学系统远物镜设计报告", + "created": "2024-06-16 18:46", + "link": "https://tianli-blog.club/%e5%85%89%e5%ad%a6%e7%b3%bb%e7%bb%9f%e8%bf%9c%e7%89%a9%e9%95%9c%e8%ae%be%e8%ae%a1%e6%8a%a5%e5%91%8a/", + "author": "Tianli", + "avatar": "https://cdn.qyliu.top/i/2024/04/06/66116950412cc.png" + }, { "title": "VMware挂起后无法连接MySQL和Redis问题", "created": "2024-06-16 08:00", @@ -1155,6 +1267,13 @@ "author": "葱苓sama", "avatar": "https://cdn.qyliu.top/i/2024/05/03/663458df4e6f0.png" }, + { + "title": "高考结束后,还请不要打扰别人", + "created": "2024-06-09 07:23", + "link": "https://www.baiwulin.com/95.html", + "author": "雾林博客", + "avatar": "https://cdn.qyliu.top/i/2024/08/02/66ac3b75826cb.webp" + }, { "title": "张家界游记", "created": "2024-06-09 06:13", @@ -1246,6 +1365,27 @@ "author": "乙未博客", "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f05e2f75c.png" }, + { + "title": "开发了一个 Canvas 2D 渲染引擎", + "created": "2024-05-23 22:15", + "link": "https://www.qcqx.cn/article/8275f29.html", + "author": "轻笑", + "avatar": "https://cdn.qyliu.top/i/2024/05/31/6659628eddf20.png" + }, + { + "title": "Canvas 2D 事件", + "created": "2024-05-23 18:52", + "link": "https://www.qcqx.cn/article/5b168750.html", + "author": "轻笑", + "avatar": "https://cdn.qyliu.top/i/2024/05/31/6659628eddf20.png" + }, + { + "title": "Canvas 2D 贝塞尔曲线", + "created": "2024-05-22 10:27", + "link": "https://www.qcqx.cn/article/ba04fd32.html", + "author": "轻笑", + "avatar": "https://cdn.qyliu.top/i/2024/05/31/6659628eddf20.png" + }, { "title": "颈椎训练:每个人都应该将其加入日常", "created": "2024-05-22 08:00", @@ -1260,6 +1400,20 @@ "author": "無名小栈", "avatar": "https://cdn.qyliu.top/i/2024/03/21/65fc59764c0be.png" }, + { + "title": "为博友打造的公共CDN", + "created": "2024-05-20 21:52", + "link": "https://www.baiwulin.com/92.html", + "author": "雾林博客", + "avatar": "https://cdn.qyliu.top/i/2024/08/02/66ac3b75826cb.webp" + }, + { + "title": "0.22.0版本Memos API介绍", + "created": "2024-05-19 23:40", + "link": "https://byer.top/posts/b9ef7523.html", + "author": "星の野", + "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af2ed96cd7d.webp" + }, { "title": "五月|焦虑,接受,进步", "created": "2024-05-19 22:23", @@ -1267,6 +1421,13 @@ "author": "AlenLiu", "avatar": "https://cdn.qyliu.top/i/2024/03/31/66097a6d9363f.png" }, + { + "title": "Canvas 2D 进阶", + "created": "2024-05-19 14:52", + "link": "https://www.qcqx.cn/article/995d74ec.html", + "author": "轻笑", + "avatar": "https://cdn.qyliu.top/i/2024/05/31/6659628eddf20.png" + }, { "title": "【LSP】微型滚动动画库", "created": "2024-05-19 14:33", @@ -1281,6 +1442,27 @@ "author": "微霞", "avatar": "https://cdn.qyliu.top/i/2024/04/06/66116f0fe045d.png" }, + { + "title": "使用Umami数据魔改about界面", + "created": "2024-05-19 00:16", + "link": "https://byer.top/posts/90d1e7f2.html", + "author": "星の野", + "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af2ed96cd7d.webp" + }, + { + "title": "将Umami API的数据展现在博客中", + "created": "2024-05-18 21:12", + "link": "https://byer.top/posts/fa30aee5.html", + "author": "星の野", + "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af2ed96cd7d.webp" + }, + { + "title": "Canvas 2D 基础", + "created": "2024-05-18 20:53", + "link": "https://www.qcqx.cn/article/8c1c45d8.html", + "author": "轻笑", + "avatar": "https://cdn.qyliu.top/i/2024/05/31/6659628eddf20.png" + }, { "title": "前端分享 - 滑动阻尼效果", "created": "2024-05-17 17:47", @@ -1351,6 +1533,13 @@ "author": "Fiveth", "avatar": "https://cdn.qyliu.top/i/2024/04/20/6623d64f16aee.png" }, + { + "title": "飞书自动化流程——友链申请方式优化", + "created": "2024-05-10 02:37", + "link": "https://blog.duolaa.asia/archives/1715279831200", + "author": "一府", + "avatar": "https://cdn.qyliu.top/i/2024/04/19/662145a134a68.png" + }, { "title": "快手面经(二〇二四年五月九日)", "created": "2024-05-09 21:09", @@ -1358,6 +1547,13 @@ "author": "山岳库博", "avatar": "https://cdn.qyliu.top/i/2024/04/06/66116c3ba58c3.png" }, + { + "title": "Twikoo表情", + "created": "2024-05-09 14:44", + "link": "https://blog.qjqq.cn/posts/829b.html", + "author": "青桔气球", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/661241402f02a.png" + }, { "title": "树状数组", "created": "2024-05-08 16:40", @@ -1365,6 +1561,27 @@ "author": "辞琼", "avatar": "https://cdn.qyliu.top/i/2024/04/27/662d1c9b7efe1.png" }, + { + "title": "使用Zeabur部署信息推送服务(一)", + "created": "2024-05-08 14:21", + "link": "https://blog.duolaa.asia/archives/1715149261175", + "author": "一府", + "avatar": "https://cdn.qyliu.top/i/2024/04/19/662145a134a68.png" + }, + { + "title": "公共图床正式启用海外加速,线路调整优化", + "created": "2024-05-07 08:29", + "link": "https://www.baiwulin.com/90.html", + "author": "雾林博客", + "avatar": "https://cdn.qyliu.top/i/2024/08/02/66ac3b75826cb.webp" + }, + { + "title": "基于rPPG的心率测算程序设计报告[公开版]", + "created": "2024-05-06 20:23", + "link": "https://tianli-blog.club/rppg/", + "author": "Tianli", + "avatar": "https://cdn.qyliu.top/i/2024/04/06/66116950412cc.png" + }, { "title": "[EN] ParanoidAndroid For OPKONA", "created": "2024-05-04 22:14", @@ -1393,6 +1610,13 @@ "author": "葱苓sama", "avatar": "https://cdn.qyliu.top/i/2024/05/03/663458df4e6f0.png" }, + { + "title": "添加来访者卡片", + "created": "2024-04-30 09:56", + "link": "https://blog.qjqq.cn/posts/834f.html", + "author": "青桔气球", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/661241402f02a.png" + }, { "title": "Hexo搭建进阶:Vercel部署、主题安装、基础用法", "created": "2024-04-30 05:33", @@ -1428,6 +1652,13 @@ "author": "ChrisKim", "avatar": "https://cdn.qyliu.top/i/2024/06/27/667d880789765.webp" }, + { + "title": "主题资源", + "created": "2024-04-25 15:03", + "link": "https://blog.qjqq.cn/posts/6468.html", + "author": "青桔气球", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/661241402f02a.png" + }, { "title": "关于群聊更换的紧急通知", "created": "2024-04-24 21:42", @@ -1435,6 +1666,13 @@ "author": "Akilar", "avatar": "https://cdn.qyliu.top/i/2024/04/06/661170950f7a2.png" }, + { + "title": "添加那年今日卡片", + "created": "2024-04-24 09:40", + "link": "https://blog.qjqq.cn/posts/155e.html", + "author": "青桔气球", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/661241402f02a.png" + }, { "title": "2024-4-20:The bad weather in GuangDong but something wonderful in school", "created": "2024-04-21 19:21", @@ -1463,6 +1701,13 @@ "author": "ChrisKim", "avatar": "https://cdn.qyliu.top/i/2024/06/27/667d880789765.webp" }, + { + "title": "Plane项目管理工具的私有化部署安装方法", + "created": "2024-04-20 16:19", + "link": "https://pipuwong.com/plane-self-hosted", + "author": "皮普", + "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f1b29c34a.png" + }, { "title": "MySQL练习题", "created": "2024-04-20 13:13", @@ -1526,6 +1771,13 @@ "author": "AlenLiu", "avatar": "https://cdn.qyliu.top/i/2024/03/31/66097a6d9363f.png" }, + { + "title": "我和 ChatGPT4 把友情链接改成了“朋友圈“", + "created": "2024-04-18 01:43", + "link": "https://pipuwong.com/friend-link-to-moments", + "author": "皮普", + "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f1b29c34a.png" + }, { "title": "多卡并行", "created": "2024-04-18 00:25", @@ -1554,6 +1806,27 @@ "author": "东评西就", "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f26979229.png" }, + { + "title": "WordPress后台被自动强制退出的解决办法 – Google Quicklink惹的祸", + "created": "2024-04-13 23:37", + "link": "https://pipuwong.com/solution-to-wordpress-backend-automatic-forced-logout", + "author": "皮普", + "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f1b29c34a.png" + }, + { + "title": "PostChat--让你的网站提前步入AI时代", + "created": "2024-04-12 14:03", + "link": "https://tianli-blog.club/postchat/", + "author": "Tianli", + "avatar": "https://cdn.qyliu.top/i/2024/04/06/66116950412cc.png" + }, + { + "title": "Halo博客搭配Memos实现说说功能", + "created": "2024-04-11 17:23", + "link": "https://blog.duolaa.asia/archives/1712827363048", + "author": "一府", + "avatar": "https://cdn.qyliu.top/i/2024/04/19/662145a134a68.png" + }, { "title": "【Hexo博客】配置RSS插件,生成 Atom1.0 或 RSS2.0 摘要文件", "created": "2024-04-11 12:26", @@ -1582,6 +1855,13 @@ "author": "無名小栈", "avatar": "https://cdn.qyliu.top/i/2024/03/21/65fc59764c0be.png" }, + { + "title": "让你的个人网站支持 ios 添加到主屏幕全屏应用", + "created": "2024-04-07 23:29", + "link": "https://pipuwong.com/ios-webapp", + "author": "皮普", + "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f1b29c34a.png" + }, { "title": "长安公园植物园碎片兼求助", "created": "2024-04-07 16:42", @@ -1645,6 +1925,13 @@ "author": "鹊楠", "avatar": "https://cdn.qyliu.top/i/2024/04/10/66164fd0e92b6.png" }, + { + "title": "分享一个404界面", + "created": "2024-03-30 05:02", + "link": "https://blog.duolaa.asia/archives/1711746088672", + "author": "一府", + "avatar": "https://cdn.qyliu.top/i/2024/04/19/662145a134a68.png" + }, { "title": "基于Tg的说说", "created": "2024-03-29 11:33", @@ -1848,6 +2135,20 @@ "author": "Ariasaka", "avatar": "https://cdn.qyliu.top/i/2024/04/09/6614f40b65114.png" }, + { + "title": "2023年度总结", + "created": "2023-12-31 00:55", + "link": "https://tianli-blog.club/2023%e5%b9%b4%e5%ba%a6%e6%80%bb%e7%bb%93/", + "author": "Tianli", + "avatar": "https://cdn.qyliu.top/i/2024/04/06/66116950412cc.png" + }, + { + "title": "域名被江苏省公益反诈拦截解决方案", + "created": "2023-12-28 21:01", + "link": "https://tianli-blog.club/%e5%9f%9f%e5%90%8d%e8%a2%ab%e6%b1%9f%e8%8b%8f%e7%9c%81%e5%85%ac%e7%9b%8a%e5%8f%8d%e8%af%88%e6%8b%a6%e6%88%aa%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/", + "author": "Tianli", + "avatar": "https://cdn.qyliu.top/i/2024/04/06/66116950412cc.png" + }, { "title": "新年倒计时改良&随便说说", "created": "2023-12-25 20:24", @@ -2092,6 +2393,41 @@ "link": "https://blog.imoyan.top/posts/5f2e.html", "author": "陌颜Hao", "avatar": "https://cdn.qyliu.top/i/2024/08/04/66af3318f1d1c.webp" + }, + { + "title": "利用插件系统,批量替换 Butterfly 主题的 CDN。", + "created": "2022-05-17 20:00", + "link": "https://android99.com/2022/05/17/butterfly-replace-cdn/", + "author": "Android", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/66124120884cc.png" + }, + { + "title": "Maya 视口中颜色异常的解决方法", + "created": "2021-12-27 14:00", + "link": "https://android99.com/2021/12/27/maya-viewport-color-problem/", + "author": "Android", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/66124120884cc.png" + }, + { + "title": "Butterfly主题 一图流背景与顶部图修改", + "created": "2021-08-10 21:00", + "link": "https://android99.com/2021/08/10/butterfly-top-image-modify/", + "author": "Android", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/66124120884cc.png" + }, + { + "title": "关于Pjax与PWA冲突,导致地址栏异常的解决方法。", + "created": "2020-12-18 16:00", + "link": "https://android99.com/2020/12/18/pjax-and-pwa-conflict/", + "author": "Android", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/66124120884cc.png" + }, + { + "title": "博客迁移至Hexo,并更名为矩阵。", + "created": "2020-11-18 18:28", + "link": "https://android99.com/2020/11/18/hello-hexo/", + "author": "Android", + "avatar": "https://cdn.qyliu.top/i/2024/04/07/66124120884cc.png" } ] } \ No newline at end of file diff --git a/conf.yaml b/conf.yaml index a3a5541..292c8d4 100644 --- a/conf.yaml +++ b/conf.yaml @@ -3,10 +3,16 @@ # enable: 是否启用爬虫 # json_url: 请填写对应格式json的地址,仅支持网络地址 # article_count: 请填写每个博客需要获取的最大文章数量 +# marge_result: 是否合并多个json文件,若为true则会合并指定网络地址和本地地址的json文件 +# enable: 是否启用合并功能,该功能提供与自部署的友链合并功能,可以解决服务器部分国外网站无法访问的问题 +# marge_json_path: 请填写网络地址的json文件,用于合并,不带空格!!! spider_settings: enable: true - json_url: "https://blog.qyliu.top/friend.json" + json_url: "https://blog.liushen.fun/friend.json" article_count: 5 + merge_result: + enable: true + merge_json_url: "https://fc.liushen.fun" # 邮箱推送功能配置,暂未实现,等待后续开发 # 解释:每天为指定邮箱推送所有友链文章的更新,仅能指定一个 diff --git a/deploy.sh b/deploy.sh index 8534dbc..447cc0d 100644 --- a/deploy.sh +++ b/deploy.sh @@ -42,5 +42,5 @@ if [ "$USER_CHOICE" -eq 1 ]; then python3 $SCRIPT_DIR/run.py echo "****爬取成功****" else - echo "退出选项被选择。" + echo "退出选项被选择,掰掰!" fi diff --git a/errors.json b/errors.json index b823b31..39d4568 100644 --- a/errors.json +++ b/errors.json @@ -1,82 +1,32 @@ [ [ - "Tianli", - "https://tianli-blog.club/", - "https://cdn.qyliu.top/i/2024/04/06/66116950412cc.png" - ], - [ - "星の野", - "https://byer.top/", - "https://cdn.qyliu.top/i/2024/08/04/66af2ed96cd7d.webp" - ], - [ - "一府", - "https://blog.duolaa.asia/", - "https://cdn.qyliu.top/i/2024/04/19/662145a134a68.png" - ], - [ - "阮一峰", - "https://www.ruanyifeng.com/blog/", - "https://cdn.qyliu.top/i/2024/04/29/662fbca75b9fe.png" - ], - [ - "Android", - "https://android99.com", - "https://cdn.qyliu.top/i/2024/04/07/66124120884cc.png" - ], - [ - "青桔气球", - "https://blog.qjqq.cn/", - "https://cdn.qyliu.top/i/2024/04/07/661241402f02a.png" - ], - [ - "Redish101", - "https://blog.redish101.top/", - "https://cdn.qyliu.top/i/2024/04/07/6612417f11b02.png" - ], - [ - "皮普", - "https://pipuwong.com", - "https://cdn.qyliu.top/i/2024/04/09/6614f1b29c34a.png" + "GuKaifeng", + "https://gukaifeng.cn/", + "https://cdn.qyliu.top/i/2024/04/09/6614ef03406cc.png" ], [ "理随", "https://lisui.top/", "https://cdn.qyliu.top/i/2024/04/07/66123e6aac11c.png" ], - [ - "GuKaifeng", - "https://gukaifeng.cn/", - "https://cdn.qyliu.top/i/2024/04/09/6614ef03406cc.png" - ], [ "听风小屋", "https://blog.ifeng.asia/", "https://cdn.qyliu.top/i/2024/03/31/6608e2697634c.png" ], [ - "往日信笺", - "https://www.xingmail.cn/", - "https://cdn.qyliu.top/i/2024/04/14/661bf476a6d8d.png" + "Redish101", + "https://blog.redish101.top/", + "https://cdn.qyliu.top/i/2024/04/07/6612417f11b02.png" ], [ "Efu", "https://blog.everfu.org/", "https://cdn.qyliu.top/i/2024/04/26/662bcda2afd5d.png" ], - [ - "轻笑", - "https://www.qcqx.cn/", - "https://cdn.qyliu.top/i/2024/05/31/6659628eddf20.png" - ], [ "Dreamaker", "https://dreamakerr.cn/", "https://cdn.qyliu.top/i/2024/06/05/66604a6f8dba9.webp" - ], - [ - "雾林博客", - "https://www.baiwulin.com/", - "https://cdn.qyliu.top/i/2024/08/02/66ac3b75826cb.webp" ] ] \ No newline at end of file diff --git a/friend_circle_lite/__pycache__/get_info.cpython-311.pyc b/friend_circle_lite/__pycache__/get_info.cpython-311.pyc index ad3b661..c0c65ab 100644 Binary files a/friend_circle_lite/__pycache__/get_info.cpython-311.pyc and b/friend_circle_lite/__pycache__/get_info.cpython-311.pyc differ diff --git a/friend_circle_lite/get_info.py b/friend_circle_lite/get_info.py index b99b7ca..6f89cf2 100644 --- a/friend_circle_lite/get_info.py +++ b/friend_circle_lite/get_info.py @@ -298,3 +298,53 @@ def sort_articles_by_time(data): ) data['article_data'] = sorted_articles return data + +def marge_data_from_json_url(data, marge_json_url): + """ + 从另一个 JSON 文件中获取数据并合并到原数据中。 + + 参数: + data (dict): 包含文章信息的字典 + marge_json_url (str): 包含另一个文章信息的 JSON 文件的 URL。 + + 返回: + dict: 合并后的文章信息字典,已去重处理 + """ + try: + response = requests.get(marge_json_url, headers=headers, timeout=timeout) + marge_data = response.json() + except Exception as e: + print(f"无法获取该链接:{marge_json_url}, 出现的问题为:{e}") + return data + + if 'article_data' in marge_data: + print("开始合并数据,原数据共有 %d 篇文章,境外数据共有 %d 篇文章" % (len(data['article_data']), len(marge_data['article_data']))) + data['article_data'].extend(marge_data['article_data']) + data['article_data'] = list({v['link']:v for v in data['article_data']}.values()) + print("合并数据完成,现在共有 %d 篇文章" % len(data['article_data'])) + return data + +def marge_errors_from_json_url(errors, marge_json_url): + """ + 从另一个网络 JSON 文件中获取错误信息并遍历,删除在errors中,不存在于marge_errors中的友链信息。 + + 参数: + errors (list): 包含错误信息的列表 + marge_json_url (str): 包含另一个错误信息的 JSON 文件的 URL。 + + 返回: + list: 合并后的错误信息列表 + """ + try: + response = requests.get(marge_json_url, headers=headers, timeout=timeout) + marge_errors = response.json() + except Exception as e: + print(f"无法获取该链接:{marge_json_url}, 出现的问题为:{e}") + return errors + + print("开始合并错误信息,原错误信息共有 %d 位朋友,境外错误信息共有 %d 位朋友" % (len(errors), len(marge_errors))) + for error in errors: + if error not in marge_errors: + errors.remove(error) + print("合并错误信息完成,现在共有 %d 位朋友" % len(errors)) + return errors \ No newline at end of file diff --git a/readme.md b/readme.md index 932e82c..8b7bb90 100644 --- a/readme.md +++ b/readme.md @@ -10,20 +10,27 @@ ## 开发进度 + +### 2024-08-11 + +* 添加服务器部署的情况下,合并github结果的选项 +* 正在测试自部署是否成功 + ### 2024-08-03 * 将自部署分离为API服务和定时爬取 * 尝试更加系统的启动脚本 * 删除server.py中的爬取内容,使用定时任务crontab实现 -### 2024-07-28 +
+查看更多 + +

2024-07-28 -查看更多

2024-07-26

* 自部署添加跨域请求 diff --git a/run.py b/run.py index 1e1c2c1..88da835 100644 --- a/run.py +++ b/run.py @@ -1,5 +1,5 @@ # 引入 check_feed 和 parse_feed 函数 -from friend_circle_lite.get_info import fetch_and_process_data, sort_articles_by_time +from friend_circle_lite.get_info import fetch_and_process_data, sort_articles_by_time, marge_data_from_json_url, marge_errors_from_json_url from friend_circle_lite.get_conf import load_config from rss_subscribe.push_article_update import get_latest_articles_from_link, extract_emails_from_issues from push_rss_update.send_email import send_emails @@ -16,6 +16,12 @@ if config["spider_settings"]["enable"]: article_count = config['spider_settings']['article_count'] print("正在从 {json_url} 中获取,每个博客获取 {article_count} 篇文章".format(json_url=json_url, article_count=article_count)) result, lost_friends = fetch_and_process_data(json_url=json_url, count=article_count) + if config["spider_settings"]["merge_result"]["enable"]: + marge_json_url = config['spider_settings']["merge_result"]['merge_json_url'] + print("合并数据功能开启,从 {marge_json_url} 中获取境外数据并合并".format(marge_json_url=marge_json_url + "/all.json")) + result = marge_data_from_json_url(result, marge_json_url + "/all.json") + lost_friends = marge_errors_from_json_url(lost_friends, marge_json_url + "/errors.json") + sorted_result = sort_articles_by_time(result) with open("all.json", "w", encoding="utf-8") as f: json.dump(sorted_result, f, ensure_ascii=False, indent=2) @@ -30,7 +36,7 @@ if config["email_push"]["enable"] or config["rss_subscribe"]["enable"]: port = email_settings["port"] use_tls = email_settings["use_tls"] password = os.getenv("SMTP_PWD") - print("密码检测是否存在:", password[:4], "****", password[-3:]) + print("密码检测是否存在:", password[:2], "****", password[-2:]) if config["email_push"]["enable"]: print("邮件推送已启用")