专科生自学 Python 转行爬虫开发实战经历与面试复盘
很多读者都知道,我本人并不是正统 CS 科班出身,在自学这条道路上,我和大家一样充满着艰辛。在做技术分享后,除了接触到了更多比我优秀的朋友之外,每天还能收到后台给我留言的一些初学者,他们有一个共同点,都是 0 基础转行,每一次他们的问题,我都会尽我所能耐心细致给出我的解答。
最近有一位小伙伴,在微信上告诉我,他找到通过自学 Python 找到了一份爬虫的工作,心里五味杂陈。总算一年的付出没有白费。
这位朋友,在找工作的时候,我曾经给过他一些建议。所以在找到工作后,也第一时间跑来给我报喜。真的很替他开心。
在我的极力要求之下,他终于同意写下这段宝贵的转行经历,因为我告诉他,在这里,仍然还有很多的小伙伴,正在转行之路上努力着,他们急需你的这份成功的案例,给他们打一针强心剂。让他们知道,在不远处就是黎明。
以下就是其真实的转行经历,仅供学习参考。
一、转行动机与背景
我是一个 17 年渣渣专科毕业生,在转 Python 之前是在一家 ERP 软件公司做实施。
相信每个转 IT 的人,大部分是兴趣驱动。然而我并不是,只能说是不反感。一开始接触编程,是一位同事,他会 Java,也会一点前端。印象最深刻的一次,有一次,他自己搭建了一个网站,然后把公司的一些报表数据放到这个界面上展示出来。当时就感觉,学习编程真酷。而后不知道是在哪看到的一篇文章,大意就是如果随便换一个人,接手你的工作,你觉得需要多久?这篇文章,启发了我,让我不禁思考,以后的路该何去何从?
在这家公司大概干了有大概八个月之久,经过一番思想斗争之后,终于在 17 年十月份,我决定辞职了。这是我的第一份工作,一年不到,很多人觉得我很疯狂,包括我的同学,我最好的朋友,因为我要开始学习编程,学习 Python。这是他们想都不想敢的事。
二、自学之路的坎坷
正式开始学编程是在十月底的样子,那时候在知乎 Flask 话题下看到一个问题「有多少人按@萧井陌大神给出的 Python+Flask 路线找到工作了?」。就觉得自己也可以啊,就开始辞职自学 Python。
刚开始的那一个月确实能够做到每天 10 个小时写代码,学了大概一个月不到的基础,就买了那本《Flask Web 开发》,也就是俗称的狗书。一开始还好,但是看到后面大概是后面几章的时候,就感觉吃不消了,因为之前也都是抄的代码,自己并不理解。报错了,就各种谷歌、百度,实在是解决不了了,就去一些群里问大佬。但是群里面,毕竟都是吹水的,问个技术问题基本都是没人理的。到这里大概花了不到一个月的时间吧,简单的博客只是有个雏形并没有部署。
再到后来也是在知乎上看到 Python 可以做哪些有意思的事?下面好多都是用 Python 写爬虫、做数据分析之类的。于是,就去学爬虫了。那时候真的很菜,相信大家入门都是爬的豆瓣 250、糗事百科之类的,当时连这些我都没爬下来。这里已经是自学的第三个月了,那时候其实心里已经有点出现问题了,越来越怀疑自己,当时跟比较好的同学说自学编程的时候,连他都怀疑我。我到现在都还清楚的记得,一起吃饭的时候那种语气、那样的表情。
之后一个多月的时间里,效果也可想而知,爬虫也只学到 Scrapy 那,只能写一些简单的 demo。也越来越觉得当时的自己是多么可笑呀,人家行,那是人家,并不是你。朋友也没有说错,反而是自己成为了别人的笑柄。
那时候已经快过年了,我妈就感觉我有点不对劲,说要么就去培训吧。于是年初来到北京,也就是三月份,因为有之前自学的经验,培训的时候明显轻松很多,期间也一直在自学。
补充:Web 框架核心知识(Flask vs Django)
在面试和实际工作中,对 Web 框架的理解至关重要。以下是针对文中提到的 Flask 和 Django 的核心知识点补充:
1. 请求处理流程
面试官常问:HTTP 请求的一次过程(例如输入 www.baidu.com 这个过程发生了什么)?
- DNS 解析:将域名转换为 IP 地址。
- TCP 连接:建立三次握手。
- 发送 HTTP 请求:包含请求行、请求头、请求体。
- 服务器处理:Nginx/Apache 接收请求,转发给应用服务器(如 Gunicorn/uWSGI),再由框架(Flask/Django)路由到具体视图函数。
- 返回响应:生成 HTML/JSON,经网络传输回客户端。
- 断开连接:四次挥手。
2. Django 中间件机制
Django 中间件是一个钩子系统,用于在全局层面修改 Django 的输入或输出。它主要处理以下阶段:
- Request Processing:请求到达视图之前。


