Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rxy001/leetcode-spider
Fetching the algorithm questions that have been accepted on own LeetCode account.
https://github.com/rxy001/leetcode-spider
leetcode
Last synced: about 2 months ago
JSON representation
Fetching the algorithm questions that have been accepted on own LeetCode account.
- Host: GitHub
- URL: https://github.com/rxy001/leetcode-spider
- Owner: rxy001
- Created: 2023-03-02T09:27:42.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-23T16:18:34.000Z (over 1 year ago)
- Last Synced: 2024-11-06T05:51:40.295Z (about 2 months ago)
- Topics: leetcode
- Language: JavaScript
- Homepage:
- Size: 216 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Leetcode Spider
基于 `nodejs` 爬取 leetcode.cn 上已通过的题目,生成 markdown,并支持多种编程语言。如果传了多个编程语言,多次执行不会重复爬取同一题目和同一编程语言,但是该题目如果已经通过了,且其中某个编程语言未通过,仍然会爬取对应编程语言的算法。
# 使用
```bash
npm i @x1ngyu/lc-spider -glc-spider
```创建一个目录,在根目录下新建 lc-config.json ,或者在命令行中指定 config 文件,但必须是 `json` 格式。
```json
{
"username": "xxxxx",
"password": "xxxxx",
"output": "path",
"languages": ["javascript"],
"translate": false
}
```- `username、password`:leetcode.cn 账号密码。
- `output`: markdown 输出的路径。`default: ./questions`
- `languages`: 指定编程语言。e.g. `c#、java、python、python3、c、ruby、javascript、go、swift、scala、kotlin`
- `translate`: 输出的 markdown 是否使用中文。`true`: zh、`false`: en。 `defalut: true`.# 注意事项
单个算法题的最近提交的算法代码请求个数取决于 `config.languages` 中, 该算法已通过的编程语言个数。
例如:
```json
{
"languages": ["java", "javascript", "python3"]
}
```两树之和的算法题,提交并通过了 java 和 javascript 的算法,那么该题会发送 2 个最近提交的算法代码请求。
由于 leetcode 限制了每分钟内最近提交的算法代码接口的请求个数,超过后将获取不到算法代码,因此分批并延迟去请求,爬取时间可能较长。如果最近提交的算法代码请求个数低于 50 ,将并发全部执行。否则每 20s 同时发送 10 个请求。