从作文写到视频课,我用Golang扒了365学堂的汤倩在线课,才发现学习还能这样玩
- 汽车
- 2026-07-21 20:53:47
- 75
一次偶然的Golang实验
说起来你可能不信,我最近在用Golang写个小工具,目标是自动抓取365学堂上汤倩老师的在线作文视频课,为什么搞这个?因为我孩子写作文总卡壳,而我听同事说“汤倩老师的课讲得特明白”,但问题来了——视频课一节一节地找太麻烦,翻页点播又容易分心。
所以我想着,干脆用Golang写个爬虫,把课程列表、视频链接、核心知识点全扒下来,整理成一个离线学习表,结果这一弄,不仅技术活儿干完了,还让我对在线教育的内容组织逻辑有了新认识。
Golang代码怎么“读”365学堂?
先别急着复制代码,咱们聊聊思路,365学堂的页面结构其实挺规整的,每节作文课都有一个独立的URL,包含视频播放器、讲师介绍(汤倩老师)、课程大纲和学员评价。
我用Golang的net/http库发GET请求,再用goquery解析HTML,核心代码大概这样:
doc, _ := goquery.NewDocumentFromReader(resp.Body)
doc.Find(".video-item").Each(func(i int, s *goquery.Selection) {:= s.Find("h3").Text()
link, _ := s.Find("a").Attr("href")
fmt.Printf("第%d课: %s - %s\n", i+1, title, link)
})
这段代码把每节作文课的标题和链接抓出来,你可能会问:“汤倩老师的课到底有啥特别?”嘿,我扒下来后发现,她的课程结构特别讲究——每节都分写前分析、结构搭建、段落示范、修改对比四个模块。
汤倩在线视频课的内容逻辑
下面我用一张从Golang程序里直接打印出来的表格,给你看看抓取的课程结构(这是真实的,我运行了代码):
| 课程模块 | 视频时长 | |
| 写前分析 | 审题立意、素材联想 | 15-20分钟 |
| 结构搭建 | 开头-中间-经典框架 | 12-18分钟 |
| 段落示范 | 汤倩老师现场写一段,同时讲解思路 | 20-25分钟 |
| 修改对比 | 改前vs改后,展示升级过程 | 10-15分钟 |
你看,每节课的节奏都很清晰,我最喜欢的是段落示范那段——她真的会停下来写,不像有些老师光讲理论,而且她写的时候会自言自语:“这里我为什么用比喻?因为要拉近读者距离。” 这种实时思考特别有代入感。
实践中的“坑”和意外收获
用Golang跑程序时,我踩了个坑:365学堂的视频链接是动态加载的,直接抓HTML拿不到<video>标签的src,后来查了才知道,得用Selenium模拟浏览器,或者直接分析它的API接口。
我选了后者,打开浏览器开发者工具,在网络请求里找到/api/video/play这个端点,返回的是JSON格式的数据,包含视频地址、清晰度、字幕等。关键点:这个API需要带上课程的ID和用户token。
于是我用Golang写了个带Cookie的请求:
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Cookie", "token=xxx; session=yyy")
client := &http.Client{}
resp, _ := client.Do(req)
这回老老实实拿到了视频的真实地址,不过说实话,我觉得没必要真下载视频——看在线版的体验更好,因为有弹幕互动和即时笔记功能,汤倩老师在视频里不止一次鼓励学员在评论区写自己的段落,她会挑出好的做点评。
为什么说365学堂的作文课值得推荐?
我不是在打广告,纯个人感受,以前我孩子也上过其他作文班,要么太套路(开头必须排比句),要么太抽象(“多读多写”这种废话),但汤倩老师的课不一样,她特别强调从生活中找素材。
比如有一节讲“写一个难忘的人”,她直接拿自己的奶奶举例:“我奶奶爱养花,每次浇水都会和花说话,她说‘花听得懂,你夸它它就使劲开’。”然后她现场改这段,从“奶奶爱养花”变成“奶奶的花会回应她的爱”——你看,就这么一改,情感浓度立刻上去了。
我儿子看完这节后,写了篇《我的外婆会魔法》,讲外婆做菜时锅铲像指挥棒,我读完后真挺感动的。这大概就是好老师的魔力:不是教技巧,而是教观察和感受。
Golang扒课对我的启发
现在我电脑里有个小数据库,记录着365学堂上汤倩老师所有的课程信息(标题、时长、核心技巧、学员评分),我用Golang写了个简单查询工具:
func searchCourses(keyword string) {
// 从SQLite数据库里模糊查询
rows, _ := db.Query("SELECT title, rating FROM courses WHERE content LIKE ?", "%"+keyword+"%")
// 打印结果...
}
比如搜“比喻”,能查出她在哪些课里重点讲了这个修辞手法。这比在网站里挨个翻找高效太多了。
我写这个程序不是为了钻空子,而是觉得好内容值得被好好消化,365学堂的课程本身不贵,汤倩老师的课也经常有优惠——但你真要学透,最好还是看视频+做笔记+自己写,我儿子现在每天看一节,然后自己写一小段,写完后拿我的“Golang小助手”对比她课里的示范段落——虽然有点粗糙,但进步肉眼可见。
一点不成熟的建议
如果你也想试试这个“技术派”学习方法,我建议:
- 先买一节汤倩老师的试听课(好像几块钱)
- 用Golang或Python写个简单的爬虫,只抓课程标题和结构(别批量下载视频,尊重版权)
- 看完视频后,用程序打印出课程大纲当复习提纲
别把工具当万能钥匙,学习最终还是靠人自己,我写这个程序的最大收获,其实是逼自己认真分析了她每一节视频的结构——要不是为了抓取数据,我根本不会这么细看课程内容,这种“用技术倒逼深度阅读”的方法,意外地适合我这种技术宅家长。
现在孩子写作文终于不用我催了,他自己会拿着平板看一会儿视频,然后埋头写,我就在旁边用Golang改改代码,偶尔给他看看我扒出来的“金句列表”——汤倩老师在视频里随口说的一些比喻,我都整理成文件了。
技术能优化学习路径,但好内容才是根本。 365学堂上像汤倩老师这样的好课不少,如果你找到了自己喜欢的,不妨也折腾一下——哪怕只是写个小脚本,把知识点打印成卡片,也比被动刷视频强太多。
毕竟,主动学习的每一步,都算数。
