Skip to content

Commit 55af4ad

Browse files
Update README.md
updata README
1 parent 77d63a7 commit 55af4ad

File tree

1 file changed

+69
-1
lines changed

1 file changed

+69
-1
lines changed

README.md

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,70 @@
11
# geek_crawler
2-
极客时间课程抓取脚本,支持输入账号密码后自动将极客时间的专栏课程保存到本地
2+
3+
最近极客时间有个活动,企业可以为每位员工免费领取3门课程。刚好我们公司领导也给我们申请了这个权益(没有领取的可以找领导说说帮忙弄一下,[活动地址](https://account.geekbang.org/biz/signin?redirect=https%3A%2F%2Fservice.geekbang.org%2Fdashboard%2Fhome%2F%3Futm_source%3Dfrontshow%26utm_medium%3Dwechat%26utm_campaign%3D316%26utm_term%3Dfrontend%26gk_source%3Dfrontshowwechat&gk_source=frontshowwechat&utm_source=frontshow&utm_medium=wechat&utm_campaign=316&utm_term=frontend))。
4+
5+
免费领取的课程只有30天有效期,因为工作日白天要正常上班,30天之内没法学完3门课程。所以就写了个脚本,将账号下所有可以看到的专栏课程自动保存到本地。
6+
7+
8+
9+
### 如何使用
10+
11+
1. 将代码 clone 到本地
12+
13+
```shell
14+
git clone [email protected]:zhengxiaotian/geek_crawler.git
15+
```
16+
17+
2. 直接在终端或者 Pycharm 中运行脚本(ps: 代码是在 Python3 下编写的,需要使用 Python3 运行)
18+
19+
```shell
20+
python geek_crawler.py
21+
```
22+
23+
3. 输入账号密码
24+
25+
```shell
26+
E:\geek_crawler (master -> origin)
27+
λ python geek_crawler.py
28+
请输入你的极客时间账号(手机号): *************
29+
请输入你的极客时间密码: ************
30+
```
31+
32+
4. 抓取完成
33+
34+
```shell
35+
2020-04-28 19:32:41,624 - geek_crawler.py[line:307] - INFO: 请求获取文章信息接口:
36+
2020-04-28 19:32:41,633 - geek_crawler.py[line:320] - INFO: 接口请求参数:{'id': 225554, 'include_neighbors': 'tru
37+
e', 'is_freelyread': 'true'}
38+
2020-04-28 19:32:42,047 - geek_crawler.py[line:349] - INFO: ----------------------------------------
39+
2020-04-28 19:32:47,131 - geek_crawler.py[line:478] - INFO: 正常抓取完成。
40+
```
41+
42+
![Snipaste_2020-04-29_08-55-08.png](http://ww1.sinaimg.cn/large/655c061fgy1geacsajgz4j20pk04lmxq.jpg)
43+
44+
*PS:如果抓取过程中有接口报错导致抓取中断,可以查看日志中对应的报错信息,然后直接重新跑脚本继续抓取(之前抓取成功的文章会在本地有文档记录,后续不会重复抓取的)*
45+
46+
47+
48+
### 成果展示
49+
50+
![Snipaste_2020-04-29_08-44-44.png](http://ww1.sinaimg.cn/large/655c061fgy1geacmd7a5fj20nq035mxa.jpg)
51+
52+
![Snipaste_2020-04-28_19-31-52.png](http://ww1.sinaimg.cn/large/655c061fgy1ge9plld31oj20nd0h6gqf.jpg)
53+
54+
55+
56+
### 功能清单
57+
58+
- [x] 输入账号密码后自动将该账号下所有可以看到的专栏(图文+音频),保存到本地;
59+
60+
- [x] 可以支持选择保存成 Markdown 文档或者 HTML 文档;
61+
62+
- [x] 支持配置排除某些课程的拉取(比如已经有的课程不再下载);
63+
64+
- [ ] 抓取指定名称的课程;
65+
66+
- [ ] 将每篇文章的评论与正文一起保存到本地;
67+
68+
- [ ] 将视频拉取下来保存成 MP4 文件;
69+
70+

0 commit comments

Comments
 (0)