背景

最初只是想简单地抓取自己的提交记录保存下来,便于查看。
写着写着就附加实现了一些其他的功能…
从Leetcode上获取到的数据有如下几种:

  1. 刷题进度
  2. 喜欢的题
  3. TOP榜单
  4. 所有题目
  5. 题目详情,包括题目内容、提示等
  6. 题目提交记录
  7. 标签分类的题

由于没有会员,抓不到公司的所有分类题目,TOP榜单里抓到了FLAG的最受欢迎的题。

需要的库

采用最基础原始的写法,使用:

  1. re
  2. json
  3. requests
  4. pymysql

API

  1. 登录:https://leetcode.com/accounts/login/
  2. 刷题进度:https://leetcode.com/api/progress/all/
  3. 所有的题:https://leetcode.com/api/problems/all
  4. 标签分类题目:https://leetcode.com/problems/api/tags/
  5. 题目内容、喜欢列表(隐含TOP榜单)、提交记录:https://leetcode.com/graphql/

登录

不登录也可爬取的部分:

  1. 所有题目
  2. 标签分类的题
  3. 题目详情,包括题目内容、提示等

必须要登录的部分:

  1. 刷题进度
  2. 喜欢的题(隐含TOP榜单)
  3. 题目提交记录

爬虫地址

放在Github中托管:LeetcodeManager