python自动推送更新的小说

  目前在看一部连载小说,每天花时间查更新太麻烦了,毕竟也是学过爬虫的,用python写个小程序自动推送更新还不是美滋滋的

  • 思路
  1. 首先本地建立一个 缓存文件记录当前已看的章节数

  2. 爬取章节目录,和本地缓存进行对比,是否有更新的章节

  3. 如果有更新的章节,那么获取最新的章节,推送到设定的邮箱

  4. 加死循环,定时检查,并且部署到服务器上

  • 工具
  1. 请求库:requests

  2. 网页解析库:pyquery

  3. 邮箱协议: smtplib

  • 代码
if __name__=="__main__":
    url = "http://www.huanyue123.com/book/37/37849/"
    with open('temp.txt', 'w', encoding="gbk") as f:
        temp = f.write("http://www.huanyue123.com/book/37/37849/28582591.html")
    while True:
        r = get_catalog(url)
        urls = check_chapter(r)
        if len(urls)!=0:
            send_email(urls)
            time.sleep(28800)
        else:
            print("没有更新的小说哦")
            time.sleep(3600)

仅展示了部分代码,完整代码见github

  • 效果图:
    python自动推送更新的小说
    python自动推送更新的小说

  • 多说一句

    通过xshell连接的远程服务器,为了在关闭xshell后程序能继续运行,可以使用nohup和&结合

nohup python mail.py > /dev/null 2> /dev/null & #具体含义可以看看我的另一篇博客

  博客直达

  欢迎留言点赞交流!