leetcode每日一题信息抓取 早安语录 定时任务

IDEA插件实战:LeetCode Editor插件高效刷题全攻略 本文详细介绍了如何在IDEA中使用LeetCode Editor插件高效刷题的全攻略。从插件安装、配置到实战技巧,包括账户设置、代码模板自定义、本地调试和提交优化策略,帮助开发者提升刷题效率。特别适合需要频繁切换LeetCode题目的算法竞赛选手和面试准备者。 阅读详情

前段时间一直在刷leetcode的每日一题,每天都是用电脑打开leetcode的网站查看,显得特别的麻烦,想在手机上查看,这样就可以利用空闲时间刷题。于是去下载leetcode的app,发现上面竟然没有每日一题的推送(建议官方及时更新)。
有需求就有服务!!!
怎么解决这个问题呢,一想到我可是个程序猿(老搬砖了)呀,当然得用编程的思想和方式去解决了,于是就有这篇文章😂

一,大致思路

二,具体实现

1)抓取leetcode每日一题数据(python真好用)

# coding=<encoding name> : # coding=utf-8
from datetime import datetime
import requests
import json
import smtplib
from email.mime.text import MIMEText

base_url = 'https://leetcode-cn.com'

# 获取今日每日一题的题名(英文)
response = requests.post(base_url + "/graphql", json={
    "operationName": "questionOfToday",
    "variables": {},
    "query": "query questionOfToday { todayRecord {   question {     questionFrontendId     questionTitleSlug     __typename   }   lastSubmission {     id     __typename   }   date   userStatus   __typename }}"
})
leetcodeTitle = json.loads(response.text).get('data').get('todayRecord')[0].get("question").get('questionTitleSlug')

# 获取今日每日一题的所有信息
url = base_url + "/problems/" + leetcodeTitle
response = requests.post(base_url + "/graphql",
                         json={"operationName": "questionData", "variables": {"titleSlug": leetcodeTitle},
                               "query": "query questionData($titleSlug: String!) {  question(titleSlug: $titleSlug) {    questionId    questionFrontendId    boundTopicId    title    titleSlug    content    translatedTitle    translatedContent    isPaidOnly    difficulty    likes    dislikes    isLiked    similarQuestions    contributors {      username      profileUrl      avatarUrl      __typename    }    langToValidPlayground    topicTags {      name      slug      translatedName      __typename    }    companyTagStats    codeSnippets {      lang      langSlug      code      __typename    }    stats    hints    solution {      id      canSeeDetail      __typename    }    status    sampleTestCase    metaData    judgerAvailable    judgeType    mysqlSchemas    enableRunCode    envInfo    book {      id      bookName      pressName      source      shortDescription      fullDescription      bookImgUrl      pressImgUrl      productUrl      __typename    }    isSubscribed    isDailyQuestion    dailyRecordStatus    editorType    ugcQuestionId    style    __typename  }}"})
# 转化成json格式
jsonText = json.loads(response.text).get('data').get("question")
# 题目题号
no = jsonText.get('questionFrontendId')
# 题名(中文)
leetcodeTitle = jsonText.get('translatedTitle')
# 题目难度级别
level = jsonText.get('difficulty')
# 题目内容
context = jsonText.get('translatedContent')

# print(leetcodeTitle)
# print(context)
# print(level)
# print(no)

# 早安语录接口(天行数据API,自行申请免费))
response = requests.get("")
json = json.loads(response.text)
# 得到语录数据
ana = json.get('newslist')[0].get('content')
# 表情链接
face_url = 'http://wx3.sinaimg.cn/large/007hyfXLly1g0uj7x5jpaj301o02a0sw.jpg'

# 开始运行时间(可通过配置文件解耦)
begin_time = datetime(2020, 12, 23)
# 脚本运行时间计算
info = "<span style='color:cornflowerblue'>本脚本已运行{0}天<span>".format(
    (datetime.today() - begin_time).days.__str__())

# 数据全部HTML化
htmlText = """ <head>
        <meta charset=UTF-8>
        <link rel="stylesheet">
        <style>
            code {
                color: blue;
                font-size: larger;
            }
        </style>
        </link>
    </head>
    <body>
    <div> </B><BR></B><FONT
            style="FONT-SIZE: 12pt; FILTER: shadow(color=#af2dco); WIDTH: 100%; COLOR: #730404; LINE-HEIGHT: 100%; FONT-FAMILY: 华文行楷"
            size=6><span style="COLOR: cornflowerblue">早安语录:</span>""" + ana + """</FONT><img width="40px"  src=""" + face_url + """">
<div>
    <h3>Leetcode-每日一题</h3>
    <h4>""" + no + '.' + leetcodeTitle + '.' + level + """</h4>""" + context + '本题连接:<a href=' + url + ">" + url + "</a></div>" + info

2)配置邮箱并发送
这里需要让邮箱开启STMP得到密码请自行百度


# 邮箱类
class SendEmail:
    def __init__(self, show_name, send_user, email_host, email_port, password, user_list, title, message):
        self.show_name = show_name
        self.send_user = send_user
        self.email_host = email_host
        self.email_port = email_port
        self.password = password
        self.user_list = user_list
        self.message = message
        self.title = title

    def send_email(self):
        try:
            user = self.show_name + "<" + self.send_user + ">"
            message = MIMEText(self.message, _subtype='html', _charset='utf-8')
            message['Subject'] = self.title
            message['From'] = user
            message['To'] = ";".join(self.user_list)
            server = smtplib.SMTP_SSL(self.email_host)
            server.connect(self.email_host, self.email_port)
            server.login(self.send_user, self.password)
            server.sendmail(user, self.user_list, message.as_string())
            server.close()
            print("success!!!")
        except Exception as e:
            print("error:", e)

if __name__ == '__main__':
    # 发件人邮箱
    send_user = ""
    # 邮箱对应的host(QQ为例可其他)
    email_host = "smtp.qq.com"
    email_port = 465
    # 开启SMTP时的密码
    password = ""
    # 邮件上显示的昵称
    show_name = "小灿智能助手"
    # 收件人邮箱账户(可多人)
    user_list = ["","",""]
    # 邮件标题
    title = "每日信息推送"
    message = htmlText
    send = SendEmail(show_name, send_user, email_host, email_port, password, user_list, title, message)
    send.send_email()

3)把文件上传到服务器并配置定时任务

  • 确保crontab的安装详细可查看这篇博客(crontab安装及操作)
  • 在linux环境下用pip安装我们的脚本所需要用到模块如:pip install requests
  • 查看python的安装目录:which python
  • 配置定时任务:crontab -e
  • 输入:格式:分 时 日 月 星期几 python安装目录 脚本目录
                       
    如:00 8 * * * /usr/bin/python /root/download/init.py (每天早上8点运行脚本)
  • 查看任务列表:crontab -l
  • 静候佳音

完整代码:https://github.com/Wchert/leetcode-every-day-auto-push.git

三,效果如下

启发:通过这个案例我们可以发现其实我们每天都有很多类似且重复的操作去查看一些信息,那我们可以通过代码的方式去收集信息并汇总分析然后展现,当然每个人所需的信息各有千秋,那么私人定制,个性化设计等功能岂不是也应当应运而生。😁

IDEA 使用 LeetCode 插件 阅读详情

相关推荐

LeetCode Editor插件安装与使用实战

本文还有配套的精品资源,点击获取 简介:LeetCode Editor插件是专为IDEA设计,用于提高练习LeetCode算法题目效率的集成编辑器。本文将详细介绍如何在IDEA中安装和使用该插件,包括准备阶段、安装步骤、配置以及如何通过插件进行有效的编程练习。 1. LeetCode及其Editor插件简介 在IT行业,特别是软件开发领域,技术面试往往需要解...

weixin_42506884的博客 2861

leetcode 每日一题机器人推送

建议每日一题

ronething的博客 682

leetcode-editor-7.4.zip

IDEA 插件,lettcode刷题,leetcode-editor7.4版本下载进行本地导入(直接将压缩包拖进IDEA即可)

爬取Leetcode的每日一题(Java/Python)

抓取Leetcode的每日一题信息 思路一(发送GraphQL Query获取数据) 参考文章:https://www.cnblogs.com/ZhaoxiCheung/p/9333476.html 接口分析 主要的数据存在于graphql/接口中: https://leetcode-cn.com/graphql/ 首页热门题目接口 是否AC状态查看接口 每日一题接口 构造 GraphQL Query来获取信息 在Headers下的Request Payload中我们可以看到一个query字段,这是我

weixin_45394002的博客 8729

LABVIEW学习之MODBUS-TCP通讯

LABVIEW学习之MODBUS-TCP通讯 1,MODBUS-TCP通讯介绍: MODBUS通讯是工业上面经常用到的一种通讯协议。该协议的原理及介绍不在此累述,下面直接介绍LABVIEW对此协议的应用。 2,MODBUS通讯所需的函数: 安装了DSC模块之后可以在数据通信内找到相关函数 3 ,主VI 主要思路就是使用状态机来进行连接 读取 写入 断开。使用枚举类型来选择状态: 1,连接 2,写入多个M继电器: 3,写入单个M继电器 4,写入双字节D...

风动9527的博客 2万+

CoaXPress协议入门(1)---- CXP测试套件

CoaXPress (简称CXP)是指一种采用同轴线缆进行互联的相机数据传输标准,主要用于替代之前的Camera Link协议,常见于科学相机、工业相机、医学图像、航空防务等场景。CXP是一个非对称的高速点对点串行传输协议,主要用于传输视频和静态图像,线缆多使用单条或多条同轴电缆。CXP易于集成,可以获得灵活可靠的性能,通过使用标准的同轴线缆,比如RG59 和 RG6规格(推荐使用RG6),并且图像、控制通讯、触发、电源都可以使用同一条线缆。

素手挽剑 9509

Leetcode 热门题目100道每日一题

leetcode

weixin_47964837的博客 2658

稳定性性能系列之五——Native Crash深度分析:工具实战

深入理解Native Crash的机制与分析方法,掌握addr2line、ndk-stack、gdb等核心工具的实战使用,学会从Tombstone文件中快速定位问题根因

Cheson的专栏 1542

【leetcode】题解博客框架模板

CONTENT背景脚本思路快速使用python 代码参考 背景 经常写 leetcode 的题解博客,博客中的很多模块逐渐固定下来,形式逐渐趋同。除了思路部分,剩下的部分都是复制粘贴的重复性工作,一直想着写一个脚本出来(一直懒得做 ????),今天终于终于把它做出来了。 脚本思路 主要参考的 leetcode每日一题信息抓取 早安语录 定时任务 中的 抓取leetcode每日一题数据 部分的代码。根据这部分提供的题目数据,然后按照我的题解博客的形式,生成了一个模板字符串放到剪切板中。 快速使用 不加参数默

Krone_的博客 461

VSCode插件全攻略:5分钟搞定Mermaid流程图实时预览(含常见报错解决)

本文提供了一份详细的VSCode插件实战指南,帮助开发者快速配置Mermaid流程图实时预览环境。文章涵盖核心插件选择、高效工作流搭建,并重点解决了图表渲染失败、样式异常等常见报错问题,旨在提升技术文档的编写效率与可视化质量。

rust6ferris的博客 1486

RH850从0搭建Autosar开发环境【6】- Davinci Configurator之CanIf模块配置详解(下)

RH850从0搭建Autosar开发环境【6】- Davinci Configurator之CanIf模块配置详解(下)

weixin_42412049的博客 2584

直接用IDEA刷leetcode的插件--Leetcode editor (保姆级安装示例教程)

直接用IDEA刷leetcode的插件–Leetcode editor (保姆级安装示例教程) 你是否还在发愁刷 leetcode 不好debug? 你是否还在往IDEA里粘代码调试好再“CV”回leetcode网页?(是本菜鸡) 那么你就需要我下面讲的这款插件 — Leetcode-editor 其实这款插件我装了很久了,之前一直不怎么用的上。两方面的原因, 一是这款插件6.7之前的版本实际上就相当于将leetcode网页编辑界面搬到了IDEA上,debug调试仍旧不太方便。 二是我之前对leetc

混凝土豆 2万+

【OTFS与信号处理:论文阅读4】OTFS时延多普勒域嵌入导频辅助信道估计(已更新)

【OTFS与信号处理:论文阅读】Embedded Pilot-Aided Channel Estimation for OTFS in Delay–Doppler Channel(快来看看OTFS嵌入式导频设计的经典之作!!!)

Cuby的博客 5335

IntelliJ IDEA插件LeetCode Editor的配置和使用

需要下载LeetCode Editor插件后,才能在Tools中找到LeetCode Plugin配置。LeetCode Editor配置需要LeetCode账号,没有账号可以去。注意:上图的账号和密码是你LeetCode的账号密码。下载安装,然后再点击Apply应用。

少爷晚安 2308

芒果YOLOv8改进160:姿态估计Head篇:即插即用|轻量化非对称多级压缩LOADH旋转检测头,原创改进适配YOLOv8高效检测头,检测头新颖改进,全网首发独一份

芒果YOLOv8改进159:OBB旋转检测头Head篇:即插即用|轻量化非对称多级压缩LOADH旋转检测头,原创改进适配YOLOv8高效检测头,检测头新颖改进,全网首发独一份

包括YOLOv5、YOLOv7、YOLOv8等模型改进 811

微信小程序 - {errCode: 10008, errno: 1500104, errMsg: “writeBLECharacteristicValue:fail write characteris

微信小程序errCode: 10008, errno: 1500104, errMsg: "writeBLECharacteristicValue:fail write characteristics error. 10008, errMsg=The value's length is invalid.",uni-app微信小程序报错,uniApp小程序调用蓝牙api报错,向低功耗蓝牙设备的某个特征写入数据时错误,UniApp微信小程序蓝牙API调用报错10008解决方案,蓝牙设备进行通信时,向设备写入数据

🏆 前端领域优质创作者 4431

分享一个优雅的leetcode力扣刷题姿势|intellij+leetcode-editor+github

虽然Leetcode自带的代码编辑器简洁,但无法进行Debug和享受Intelli的编码方式。另一方面,Intelli中虽然有Intelli代码补全、集成化编译调试等功能,但却需要频繁复制粘贴。本文将为热衷刷题的读者提供一种专业的刷题方式——使用Intelli进行编码、在本地调试、一键提交LeetCode、一键上传保管。

BuleFACE_Zhang的博客 8405

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

好用的idea插件leetcode editor【详细安装指南】

LeetCode Editor详细安装指南

weixin_45988401的博客 3039

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【for lovelier】IDEA + LeetCode Editor 最佳实践

leetcode editor 是 idea 中一个非常不错的刷题插件,通过一些自定义模板可以实现代码的 debug 操作。

小迷糊 579

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IDEA插件系列(112):LeetCode Editor插件——LeetCode编辑器

1.插件介绍 LeetCode Editor插件。 即可以在IDEA中做Leetcode网站上的题目,并调试提交等。 支持leetcode.com和leetcode-cn.com,可以测试和提交问题。 2.安装方式 第一种方式,是在IDEA上搜索插件进行安装,会适配当前IDEA的版本。 第二种安装方式是使用离线插件进行安装。 插件下载地址:https://plugins.jetbrains.com/plugin/12132-leetcode-editor 3.使用方法 leetco

二木成林 5300

LeetCode Editor 项目使用教程

LeetCode Editor 项目的目录结构如下: ``` leetcode-editor/ ├── doc/ ├── gradle/ │ └── wrapper/ ├── src/ │ ├── main/ │ └── test/ ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── README_ZH.md ├

gitblog_00121的博客 1138

LeetCode Editor:代码解题的新利器

LeetCode Editor:代码解题的新利器 leetcode-editorshuzijun/leetcode-editor: LeetCode Editor是一款专门为LeetCode刷题而设计的编辑器,支持多种编程语言环境,并且集成了提交代码、查看结果等功能,方便用户直接在本地IDE环境中完成算法题目的练习。项目地址:https://gitcode.com/gh_mirrors/le/l...

gitblog_00069的博客 792

LeetCode Editor插件开发指南:从零开始构建自己的刷题工具

LeetCode Editor是一款专为算法刷题设计的IDE插件,让开发者能在本地环境中高效完成LeetCode题目练习、代码提交和结果查看。本指南将带你从零开始了解插件开发的核心流程,掌握配置技巧与功能扩展方法,打造个性化的刷题工具。 ## 插件核心功能与架构解析 LeetCode Editor插件采用模块化设计,主要由以下核心模块构成: - **用户界面层**:包含配置面板、题目导航窗口

gitblog_00048的博客 1048

Leetcode Editor的使用

1.下载路径 1.1通过idea的插件市场 1.2通过作者的github下载插件进行idea的本地安装 https://github.com/shuzijun/leetcode-editor 保存好下载下来的插件,在下面进行导入,不要导错了,那个压缩包解压完里面有很多插件,我们需要的是【Leetcode Editor】 2.配置 附上我的配置 CodeFileName P${question.frontendQuestionId}$!velocityTool.camelCaseName(${quest

牢骚太盛防肠断,风物长宜放眼量 3449

终极 LeetCode Editor 使用指南:从安装到高效刷题的完整教程

LeetCode Editor 是一款专为算法刷题设计的强大编辑器插件,支持直接在本地 IDE 环境中完成 LeetCode 题目浏览、代码编写、提交测试等全流程操作。本文将带你从安装配置到高级使用,全面掌握这款开源刷题神器,让算法练习效率提升 300%! ## 🚀 为什么选择 LeetCode Editor? 作为开发者必备的算法训练工具,LeetCode Editor 提供了以下核心优势

gitblog_07570的博客 571

IDEA配置Leetcode Editor(保姆级教程)

IDEA配置Leetcode Editor(保姆级教程)

love_the_world的博客 1401
上一篇: 蓝桥杯(测试次数)
下一篇: RSA非对称加密原理
Wchert
博客等级 码龄7年 7粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值