关注今日新鲜,每天都有不一样的新鲜体验!

天美租号

今天分享一下我搞定的一个“今日新鲜”的小玩意儿,就是用Python脚本每天自动抓取几个我关注的科技博客的最新文章,然后推送到我的微信上。

想法很简单,就是想偷懒,不想每天打开一堆网页去看最新的科技资讯。作为一个伪Geek,必须得有点自己的“效率工具”嘛

说干就干,我先是找了几个科技博客,把它们的RSS订阅地址扒了出来。这步很简单,大部分博客都会在页面上放RSS的图标,直接点过去就能找到。

关注今日新鲜,每天都有不一样的新鲜体验!

接下来就是写Python脚本。我已经很久没碰Python了,之前都是用Java搞后端,这回算是捡起来了。

我安装了`feedparser`这个库,专门用来解析RSS订阅的。`pip install feedparser`,搞定!

然后,开始写代码。我先写了一个函数,用来读取RSS订阅,把最新的文章标题和链接抓取下来。代码大概是这样:

python

import feedparser

def get_latest_articles(rss_url):

关注今日新鲜,每天都有不一样的新鲜体验!

feed = *(rss_url)

articles = []

for entry in *:

*({'title': *, 'link': *})

return articles

关注今日新鲜,每天都有不一样的新鲜体验!

有了这个函数,我就可以抓取每个博客的最新文章了。我需要把这些文章推送到微信上。

这里我用了`itchat`这个库,它可以模拟微信登录,然后发送消息。`pip install itchat`,安装!

然后,我写了一个函数,用来发送微信消息:

python

import itchat

def send_wechat_message(message):

关注今日新鲜,每天都有不一样的新鲜体验!

*_login(hotReload=True) # 首次登录后后续自动登录

*(message, toUserName='filehelper') # 发送到文件传输助手

注意,这里我用的是`filehelper`,也就是微信的文件传输助手,方便我自己查看。

就是把两个函数串起来,每天定时运行。

关注今日新鲜,每天都有不一样的新鲜体验!

我用Python的`schedule`库来实现定时任务。`pip install schedule`,安装!

然后,我写了一个主函数,把所有的步骤都放在一起:

python

import schedule

import time

def main():

关注今日新鲜,每天都有不一样的新鲜体验!

rss_urls = ['博客1的RSS地址', '博客2的RSS地址', '博客3的RSS地址'] # 替换成你自己的RSS地址

all_articles = []

for url in rss_urls:

articles = get_latest_articles(url)

all_*(articles)

message = ''

关注今日新鲜,每天都有不一样的新鲜体验!

for article in all_articles:

message += article['title'] + '\n' + article['link'] + '\n\n'

if message:

send_wechat_message(message)

print('消息已发送')

else:

关注今日新鲜,每天都有不一样的新鲜体验!

print('没有新文章')

*().*("08:00").do(main) # 每天早上8点运行

# *(1).*(main) # 每分钟运行一次,用于调试

while True:

*_pending()

*(60)

关注今日新鲜,每天都有不一样的新鲜体验!

OK,代码写完了,接下来就是测试。

我先是把`*().*("08:00").do(main)` 改成 `*(1).*(main)`,让脚本每分钟运行一次,方便调试。

运行脚本,发现`itchat`登录的时候需要扫码。扫码登录之后,果然收到了微信消息,里面包含了最新的文章标题和链接。

搞定!

我把定时任务改回每天早上8点运行,然后把脚本放在服务器上,让它每天自动运行。

关注今日新鲜,每天都有不一样的新鲜体验!

每天早上我都能收到最新的科技资讯,感觉真不错!

这个脚本还有很多可以改进的地方,比如可以添加文章过滤功能,只推送我感兴趣的文章;可以添加错误处理,防止脚本因为一些小问题而崩溃;可以把微信推送改成企业微信推送,方便团队成员查看。

这个小玩意儿虽然简单,但是很有用。希望这个分享能给大家带来一些启发。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,17人围观)

还没有评论,来说两句吧...