专科生自学 Python 转行爬虫开发实战经历与面试复盘
很多读者都知道,我本人并不是正统 CS 科班出身,在自学这条道路上,我和大家一样充满着艰辛。在做技术分享后,除了接触到了更多比我优秀的朋友之外,每天还能收到后台给我留言的一些初学者,他们有一个共同点,都是 0 基础转行,每一次他们的问题,我都会尽我所能耐心细致给出我的解答。
本文记录了一名专科毕业生从零开始自学 Python 并最终成功转行从事爬虫开发的完整经历。文章涵盖了转行动机、自学阶段的 Flask 与 Scrapy 探索、参加线下培训的转折点、求职过程中的简历撰写与多次面试复盘。内容重点还原了面试中涉及的技术问题,包括 HTTP 请求流程、Django 中间件机制、Redis 在线人数统计方案以及分布式爬虫架构。此外,文章还补充了入职后在以太坊数据爬取项目中遇到的 SQL 优化难题及解决方案,并为后续学习者提供了 Web 框架对比、爬虫技术栈详解及职业成长建议,旨在为同路人提供可落地的技术参考与心理支持。

很多读者都知道,我本人并不是正统 CS 科班出身,在自学这条道路上,我和大家一样充满着艰辛。在做技术分享后,除了接触到了更多比我优秀的朋友之外,每天还能收到后台给我留言的一些初学者,他们有一个共同点,都是 0 基础转行,每一次他们的问题,我都会尽我所能耐心细致给出我的解答。
最近有一位小伙伴,在微信上告诉我,他找到通过自学 Python 找到了一份爬虫的工作,心里五味杂陈。总算一年的付出没有白费。
这位朋友,在找工作的时候,我曾经给过他一些建议。所以在找到工作后,也第一时间跑来给我报喜。真的很替他开心。
在我的极力要求之下,他终于同意写下这段宝贵的转行经历,因为我告诉他,在这里,仍然还有很多的小伙伴,正在转行之路上努力着,他们急需你的这份成功的案例,给他们打一针强心剂。让他们知道,在不远处就是黎明。
以下就是其真实的转行经历,仅供学习参考。
我是一个 17 年渣渣专科毕业生,在转 Python 之前是在一家 ERP 软件公司做实施。
相信每个转 IT 的人,大部分是兴趣驱动。然而我并不是,只能说是不反感。一开始接触编程,是一位同事,他会 Java,也会一点前端。印象最深刻的一次,有一次,他自己搭建了一个网站,然后把公司的一些报表数据放到这个界面上展示出来。当时就感觉,学习编程真酷。而后不知道是在哪看到的一篇文章,大意就是如果随便换一个人,接手你的工作,你觉得需要多久?这篇文章,启发了我,让我不禁思考,以后的路该何去何从?
在这家公司大概干了有大概八个月之久,经过一番思想斗争之后,终于在 17 年十月份,我决定辞职了。这是我的第一份工作,一年不到,很多人觉得我很疯狂,包括我的同学,我最好的朋友,因为我要开始学习编程,学习 Python。这是他们想都不想敢的事。
正式开始学编程是在十月底的样子,那时候在知乎 Flask 话题下看到一个问题「有多少人按@萧井陌大神给出的 Python+Flask 路线找到工作了?」。就觉得自己也可以啊,就开始辞职自学 Python。
刚开始的那一个月确实能够做到每天 10 个小时写代码,学了大概一个月不到的基础,就买了那本《Flask Web 开发》,也就是俗称的狗书。一开始还好,但是看到后面大概是后面几章的时候,就感觉吃不消了,因为之前也都是抄的代码,自己并不理解。报错了,就各种谷歌、百度,实在是解决不了了,就去一些群里问大佬。但是群里面,毕竟都是吹水的,问个技术问题基本都是没人理的。到这里大概花了不到一个月的时间吧,简单的博客只是有个雏形并没有部署。
再到后来也是在知乎上看到 Python 可以做哪些有意思的事?下面好多都是用 Python 写爬虫、做数据分析之类的。于是,就去学爬虫了。那时候真的很菜,相信大家入门都是爬的豆瓣 250、糗事百科之类的,当时连这些我都没爬下来。这里已经是自学的第三个月了,那时候其实心里已经有点出现问题了,越来越怀疑自己,当时跟比较好的同学说自学编程的时候,连他都怀疑我。我到现在都还清楚的记得,一起吃饭的时候那种语气、那样的表情。
之后一个多月的时间里,效果也可想而知,爬虫也只学到 Scrapy 那,只能写一些简单的 demo。也越来越觉得当时的自己是多么可笑呀,人家行,那是人家,并不是你。朋友也没有说错,反而是自己成为了别人的笑柄。
那时候已经快过年了,我妈就感觉我有点不对劲,说要么就去培训吧。于是年初来到北京,也就是三月份,因为有之前自学的经验,培训的时候明显轻松很多,期间也一直在自学。
在面试和实际工作中,对 Web 框架的理解至关重要。以下是针对文中提到的 Flask 和 Django 的核心知识点补充:
面试官常问:HTTP 请求的一次过程(例如输入 www.baidu.com 这个过程发生了什么)?
Django 中间件是一个钩子系统,用于在全局层面修改 Django 的输入或输出。它主要处理以下阶段:
Flask 基于 Werkzeug 和 Jinja2。核心类 Flask 继承自 Application。它使用 WSGI 协议处理请求。Flask 的设计哲学是微内核,核心功能精简,扩展性强。阅读源码时,重点关注 app.route 装饰器如何注册路由规则,以及 request 对象如何封装 WSGI environ。
七月初的时候,我开始写简历,看面试题。因为从一开始去培训,我就没打算在简历上造假,并不是说我不想造假,我比谁都想造假。一个月就四个面试机会,一个还是 Java 的,关于面试我会在后面详细描述。一个礼拜没有一个电话,没有一则邮件,你能想象的到吗?甚至连培训机构的电话都没有,什么都没有。
没学历,没经验。确实很难,招 Python 初级的其实并不多,基本都是 1-3 年经验的。而且我是海投的,就是把软件上我搜索条件的职位全部投递,符不符合的都投,因为我根本没得选择。
第一家面试,清晰的记得第一家面试是在 7.11,周三,那天北京下着大雨,坐了两个小时的公交,在车上也一直在看面试题,回顾自己写的小项目。
那天这家公司就一个技术老大在,也就是面试我的人。并没有题目、直接问项目。我把自己简历上的项目都详细的说了一遍。面试官问我带电脑了没,掏出电脑,也演示了这两个项目给他看,一个是 Flask 的,也就是狗书作者 17 年写的一个博客的教程,自己在这基础上加了点东西。还一个是 CMDB 的小项目,Django 写的。最后聊了快两个小时,也坦白了自己是培训出来的,只有一年不到的自学时间。面试官也认可我了,发了 offer,也给了我很多建议。现在想想还是很感谢他,虽然最后没要我。
第二家面试,上一家我给了一个礼拜的时间考虑,就是这个礼拜我特别的绝望,特别的绝望。整整一个礼拜,没有一个电话,没有一封邮件,一个面试邀请也没有,什么都没有。我给那家回了电话表明要去,但是我才知道原来发了 offer,并不代表要你,还是要等上面通知的。等了四五天,没回应,也就是凉了。
第三家面试,是一家做 ERP 开发的公司。也没有面试题,不过关于 Python 的一个没问,印象最深的是问到:
WsgiMiddleware 和 Dispatcher。process_request,离开时按逆序执行 process_response。可以在此拦截异常或修改 Header。SCARD 命令获取集合大小即可得到在线人数。为了性能,通常配合过期时间自动清理离线用户。Redis 只是了解一点,这个也就挂了。
第四家面试,是一家做区块链的创业公司。面试的爬虫,因为去之前 BOSS 上面招聘要求写的很高,会分布式、会模拟登录、能分析 JS 什么的。当时我只写了一个简单的分布式,能看懂一点 JS。大概问了些:
其实问的东西不是很难,也算是自己运气好吧,除了后面面试官问我会不会 JS。基本都答上来了,要了个最低价,比招聘要求上的薪资还低一点。
针对面试中涉及的爬虫与数据处理,以下是进阶技术要点:
executemany 或事务提交。现在已经入职快一个月了,写了一个小项目吧,爬的国外的以太坊。解析到不难,倒是在数据处理、入库这一块,复杂的 SQL 语句我根本不会写,SQL 语句到后来都是老大帮我改的,毕竟自己招进来的人,含着泪也要教完。。好在最后也扔到服务器上去了,写了个脚本跑定时任务。
培训一直都是比较敏感的话题吧,学历造假、年限造假确实是这样的。关于薪资,高薪确实有的,不过都是有开发经验的,零基础培训四五个月出来找到高薪的、不包装真的很少很少,我还是建议刚开始别把薪资看得太重要,核心竞争力是你的技术水平。培训机构其实都差不多吧,只是带你入个门,更多的还得靠自己。如果你还是在校大学生,我还是建议自学,找份实习,从基础做起,有人带会好很多,没事多加加班,多向同事请教,脸皮也厚一点,毕竟学到了就是自己的了。
最后,祝愿大家在转行的路上开花结果!

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online