# LeetCodeEnterpriseCrawler
**Repository Path**: zjz0812/LeetCodeEnterpriseCrawler
## Basic Information
- **Project Name**: LeetCodeEnterpriseCrawler
- **Description**: 爬取LeetCode企业题库,爬虫爬取leetcode
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2021-07-13
- **Last Updated**: 2023-07-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# LeetCode-Enterprise crawler


一句话简介:本项目是一个用来爬取力扣中国企业题库试题。包括阿里巴巴、字节跳动、腾讯、谷歌、头条、华为等BAT大厂
注意:是爬取【企业题库】也就是【你自己的plus会员】,不是爬取【他人】的代码,更不是爬取【其他代码】!!!
# 用途
**准备面试BAT大厂,刷算法题必不可少,LeetCode有上万道试题,不支持模糊搜索。
比如阿里打电话邀请你参加在线笔试(阿里伯乐系统),你不可能短时间内把试题全部刷完并记住。
面试造火箭,我不赞同这个说法,因为平常我们来一个需求,你有几个小时甚至几天的时间去处理解决问题,所以你只要能倒腾没有关系,但当面试或者笔试的时候,那肯定就不行了。
这个时候,你可以配合事先存储在mysql的试题,模糊搜索试题答案**
# 使用方法
1. `clone`或者`download`到本地
2. 安装依赖库 `pip install -r requirements.txt`
3. 配置`config.json`文件,用户名,密码,本地数据库地址
4. 表结构questions.sql导入到数据库中,配置dbhouse,dbhouse就是你的数据库名。比如mysql自带的库名 _mysql_
5. 在命令行下运行`python3 main.py`或者使用IDE编译运行。调试推荐使用pycharm
6. 表questions中就有了所有的试题及答案
# 一些说明
1. 目前支持的语言有:`{"cpp": ".cpp", "python3": ".py", "python": ".py", "mysql": ".sql", "golang": ".go", "java": ".java",
"c": ".c", "javascript": ".js", "php": ".php", "csharp": ".cs", "ruby": ".rb", "swift": ".swift",
"scala": ".scl", "kotlin": ".kt", "rust": ".rs"}`
2. 致谢@fyears, 本脚本的`login`函数来自https://gist.github.com/fyears/487fc702ba814f0da367a17a2379e8ba
3. 试题及答案支持存储mysql、本地。默认mysql,需要存本地的可以修改main.py即可
4. 如果不使用会员plus账号登录爬取,会出现有些题爬不下来,因为有些题只有plus会员才可见。
5. 加入了重试机制 (哪些题解析失败了,自动重试)
6. 加入了校验机制(校验哪些题爬失败了,自动重爬)
7. 加入了多线程处理 (3分钟可爬完几千道题)
8. 支持自动爬取,同步到Gitee
9. 爬虫有二种。第一种是基于前端HTML,解析dom从而获取数据,理论上来讲,这种兼容性最强。第二种是基于后台接口返回数据解析。本项目就是基于这种方式实现的。因为LeetCode本来就是让广大程序员免费学习的地方,所以没有必要后台做很多限制。
10. 项目中默认爬取阿里巴巴题库笔试题
# 特别说明
**本项目只是方便用户查看搜索试题。会员Plus登录后就可以看到所有的试题,只是不便于查找,本项目没有改变官网的任何权限,并未绕过登陆** !!!
本项目仅供个人学习使用,不得用于违法用途
# 版本介绍
当前版本V1.0,于2021/07/13上传
# 结果截图

