最近我花了些时间重写了RSS聚合程序,这次重构解决了很多长期困扰我的问题。作为一个以前运行Windows服务上的程序,它现在变得更加健壮和智能了也从系统服务上转移到计划任务了。期间还因为服务器不支持tls1.3我重装了支持的系统。以obaby@mars网站证书为例更换了新证书后,请求时一直发生ssl握手失败。
这次重构最大的突破在于解析器的兼容性。现在程序可以处理各种非标准的RSS源了,包括那些在XML头部存在空格的博客,特别值得一提的是日期处理。之前因为没处理日期时区问题直接丢给了网站,而我又不是特别会php,摆弄了几次都没成功。
iLogsRSS聚合爬虫
每隔6小时爬取一次
在抓取过程中,我发现有些博客的服务器特别敏感,稍微多访问几次就会把IP拉黑。为此,我编写了邮件通知系统,当首次成功抓取某个博客时,会自动发送一封邮件,邀请博主将我的服务器IP加入白名单。这个通知只会发送一次,避免骚扰。如果遇到超时或被封禁的情况,会立即发送警报说明邮件。每个异常周期内只会提醒一次。不过如果之后又出现新的失败,会再次通知。从昨天开始运行,每个博客只抓取最新的两篇文章,到现在已经爬取了多次没出现异常。
我学编程时还是vs2005,现在都到vs2025。这次发现它的代码预测功能。我刚打几个字母,它就能准确预测出我接下来要写的内容,大大提高了编码效率。
其次是尝试使用AI辅助编程的。我把几个简单的方法需求丢给AI,结果让人。。。本来只需要几行代码的功能,AI硬是写出了几百行。经过几轮修改后,代码量不减反增,最后变成了一个庞大的工程。ai这简单事情复杂化是跟谁学的?某些企业吗?
部分博友想使用我这个程序,想了想似乎不太合适,因为它是一个高度契合我的网站的程序。缺少一个环节都不行。
(1)评论审核后进入有链序列文件。(2)rss聚合程序到达指定时间开始查找rss链接并生成json存储昵称邮箱网址rss地地址。根据地址逐个请求解析rss信息并保存到网站目录下的rss.json文件,页面再读取json并解析呈现到页面。每次爬取后rss.json文件都会覆盖。避免数据越来越多读取变慢。
如果想使用rss功能可以去找一些支持api的rss。之前好像有看到谁写过。我的服务器资源有限不能提供api服务。
其它一些细微改动,评论区叠加回复五次会挤压的很厉害,原评论区的html被原主题作者给多次混淆了代码无法修改,我选择了采用加载css后置覆盖原有样式调整到回复全部平级。网站修改仿佛是个无底洞,一旦踏上了一直修修改改的。
评论 (评论须知)
复杂,而且目前见到的博主都是linux服务器多
微软技术方向老程序员。linux没接触过不懂😁。
一直没有耐心去折腾这个事情,都是用软件订阅。
没事在家捣鼓着玩
第一次见在win上部署的,我那个用的freshrss的api。有个提醒挺好的,有的抓取太频繁,被防火墙直接搬了。
老程序员转行十多年了。以前学的就是微软开发也只会微软开发。freshrss好像很多人都用的这个,我嘛纯属折腾。
linux也整一套吧
昨天研究了一下跨平台,太麻烦了,所有代码要全部按照跨平台的写法从写。
没想到博友圈是跑在Windows上的程序?,话说现在.Net Core支持跨平台了,有兴趣搬到Linux服务器上跑吗,感觉会更省资源
刚想着消停下面,这是逼着我又折腾啊。?
我现在已经深深感到,能用插件的话尽量不手动修改。改的越多,想换模板的时候套的越牢。?
换模板?“手捂肚子、撒日朗、撒日朗、撒日朗”
换模板?“手捂肚子、撒日朗、撒日朗、撒日朗”
用自己做实验是个好习惯。别拿我做实验哈。我那里10分钟内访问12次以上就关小黑屋了。因为是纯手搓的fail2ban规则,可懒得单独去设白名单。
十分钟12次?我的是6小时执行一次。
我收到了加白名单的邮件,但是还没操作。
我看我博客最近两三篇都有被你抓到的。
有呀。序号3和12不就是的嘛。只抓取最新的两篇博文。现在的链接数40个抓取的博文就80篇了
强迫症晚期用户发来提醒:通报批评直接部署debug版本的全局变量同学,请Release后重新部署!哈哈
全局变量在此接受领导批评!图省事直接上了debug!全局变量表示下次不再犯!哈哈
拉取RSS的频率要控制好 有些人拉取频率太高了 像CC攻击一样...
嗯,我的一天就几次
不校验证书就行了,毕竟现在的证书办法机构太多了。
写了不校验也一直失败。所以只能把系统换了。
ai估计还不会逻辑编程,代码复用什么的。瞎说的。
修改是无尽的任务
给新手用可以反正看不懂。?
我是直接部署了FressRss,然后AP接入博客,也挺好用的,但是程序上有Bug,将就用了
嗯也可以了,我就是折腾折腾。它自己拉友链数据。
第二段结尾的错别字改一下。
?
这几年脚本小鬼比较抽风,有些小鬼拉rss的频率甚至高达30秒一次甚至更频繁,很多网站现在都默认检查访问频率,只要有嫌疑基本就被封IP。
如果是24小时内每30秒拉取请求,那不被封才怪。一般都是每隔24小时抓取一次,每次抓取时长30秒,比较正常。
24小时内抓取三四次是比较合理的,毕竟有那么多博客每个人的发表时间不一。30秒请求一次甚至更频繁我觉得这有可能是ai干的。
只要你有心情检查access.log,那疯狗的密度远超出你的想象。
额。。。我的一天也就几次。30秒一次这是要干嘛。