从开始学习爬虫到真正赚钱只用了一个月——一个普通大专生的逆袭之路(代码片段)

网易在职程序猿 网易在职程序猿     2023-02-28     220

关键词:

前言

我毕业六年了,但与技术和 Python 相关的工作经验也就两年。今天我想跟大家分享自己转行的故事,希望能够鼓励那些跟我一样的朋友共同前行。

我们将会聊到我个人的经历和入行故事,个人的技术成就,讨论快速学习的方法,最后推荐一些学习资源。

个人简介和经历

在2020年以前,我并不是一个专业的研发,工作内容甚至与技术没有太多关联。

我所学的专业是“软件开发”,但大专念书的时候没有好好学习,导致毕业后四处碰壁。

毕业后的第一年辗转进入了一个互联网金融企业,在技术部里面担任最小的小弟。随着公司的发展和人数增加,我从小弟变成了小哥,后来成为了连接技术部和公司高层的纽带。

从这个时候起,我离技术越来越远,后来慢慢转到了运营岗,并通过努力从运营小弟变成了运营小哥。

互联网金融倒闭和跑路潮爆发,我感到行业岌岌可危,而且我觉得就我这点运营水平也蹦哒不起来(说一事无成也不为过)。恰好那段时间我了解到 Python 语言,了解到爬虫对于企业运营和发展的重要性,还有 Python 易学的特点。

于是我下班后看 Python 的入门教程,并根据网上文章尝试运行自己编写的代码。念书的时候,学校教的是 C 语言、C# 和 PHP,但我都没有学会。唯独这一次,我感觉我能够学会 Python。

在家看网上的 Python 入门文章和入门视频,每天都挤出时间来学习,跟着教程学习了大概1个月,我就尝试自己接一些小需求来做,例如爬取一些公开数据、编写 Python 程序等。那时候两三天才能完成任务,得到的报酬通常是 30~300,有时候甚至靠回答群友的问题领几块钱小红包。

实践是检验真理的唯一办法,我不去实操就不会知道自己的技术水平到了哪一个层次,就不会查漏补缺,接兼职就是我磨炼自己技术水平的方法之一。

后来随着时间的推移,大概过了7个月,我觉得我可以算得上初级爬虫工程师了,接的都是1000以上的兼职。但是接兼职已经无法满足自己的技术增长需要了,于是我在智联还有前程无忧找了一些招爬虫或 Python 研发的公司,投了简历。三天内,接到了 5 个面试,然后也顺利的找到了一份爬虫组长的工作。

工作期间,我们爬虫组的任务就是完成技术负责人分配的数据爬取任务,目标分为网站和 APP两大类。我们公司是体育行业,所以数据的变动是常有的事,这就要求爬虫组能够高频的爬取数据。

为了省事,我参考 Scrapyd 和 Celery,用 Django 编写了一套支持 Crontab 规则的调度平台,这样我们编写的爬虫就可以集中在这个调度平台上进行管理。

在反爬虫方面,对于那些用 JavaScript 保护数据的网站,我们最开始采取的是 Selenium 或者 Splash 这种自动渲染工具来应对。但后来考虑到高频、时效性和资源占用等问题,便硬着头皮去解目标网站中的 JS 算法,再用 Python 模拟实现同样的算法。

这样,将爬虫的爬取速度和资源占用都调整到了最优的状态。

我认为我进入了技术领域,就应该踏踏实实的呆在这个领域里,想办法扎根。

快速学习的方法

对于转行的朋友,或者刚接触 IT 技术的朋友来说,最重要的是两件事:

  • 如何保持专注,能够坚持
  • 找到快速学习的方法

第一件事其实并不难,保持专注并能够坚持的原因通常有二:有经济收入或者极大的兴趣爱好。纵观我的成长经历,其实这也是我坚持下来的原因。学习之初,完全是出于兴趣和转行的压力。

在前三个月的阶段,有一些小小的收入也是支撑我继续前行的主要原因。第二件事,找到快速学习的方法。我可以说,我的进步速度非常快,而且很稳固。

我深深的知道**“浮沙之上难驻高台”**的道理,所以我在学习的过程中,通过写文章来巩固所学,并且我只专注于一个领域(爬虫)。Python 可以发展的方向非常多,例如 WEB、爬虫、数据分析和深度学习,我自知想要扎根就必须专注一个领域。

我从最初的网络请求、网页解析到数据存储,爬虫部署调度,再到异步、多线程多进程、去重和增量,甚至是反爬虫的研究,都属于爬虫这个领域。

为了保持专注,我改变了我的作息时间,从原来的“早上八九点起床,凌晨一两点睡”改成了“早上六七点起,晚上十一点睡”。周末亦是如此,早睡早起使我有充沛的精力保持工作和学习。

选好某个领域,并保持足够的时间后,能够让人快速进步的因素还有:读源码,造轮子。

读源码可以让我们从更高的的角度理解程序的设计,并学到很多平时难以见到的骚操作。而造轮子,则是考验我们将知识转换成代码的能力。

我读/研究过源码的项目有:

  • Scrapyd
  • Scrapy
  • Celery
  • Gerapy
  • SpiderKeeper
  • SpiderWeb
  • WebSockets
  • WebsocketClient
  • Parsel
  • apscheduler
  • Job_Spider,Rust 语言编写的定时任务库

这里有个建议,读源码、查资料的时候我们必定会用到搜索引擎,搜索引擎列出的文章并不一定是准确的。有些文章甚至是缺头缺尾,所以最好是直接翻官方文档或者找一些知名作者写的文章来学习。

学习资源推荐

学习资源是学习质量和速度的保证,因此找到高质量的学习资源对我们来说也是非常重要的。以下列出的学习资源不分排名,都是好资源:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。


四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码【免费获取】。

结语

我不管你是在互联网行业的哪一个岗位,你应该一直把自己当成一个学生。这比大多数职业的要求更高,因为这一行总在变化。没有一个开发人员可以知道所有事情的全部内容,他们这一分钟这样做,下一分钟就有变化发生,他们就必须学习更多。如果你骄傲自满,停止阅读、学习,你必然会落后。即便你有一份不需要学习任何新东西的工作,一旦你失去了那份工作(这并非不可能发生),你会远远落后。所以即使有这样的工作,我也建议你边工作边学习。

不管你喜欢那种语言、框架、库,你都要及时更新你的知识。如果你的职位需要的只是旧知识,这也是可理解的,因为很多领导倾向于认为如果公司还没没落,那就没必要修复。所以你仍然会发现有些团队用着过时的、不受支持的技术,只因为该技术还能运行。如果你边工作边学习这方面的新东西,那你就可以向团队展示更快、更高效、更简单的新技术是可能的。你或许能够说服他们更新技术、改善公司。

无论是新开发人员,还是经验丰富的老手,我都希望这些建议能够帮助到你们。

从3k到3w,一名普通软件测试员真正的赚钱路线图…

...小伙伴们有更好的观点,欢迎分享和探讨,互相学习! (文末有学习笔记)一、技术方向就技术方向的职业发展之路,我非常赞同之前看过的一篇文章里说的&# 查看详情

软件测试学习心得

...无多大成就,想抓住这次机会,下定决心改行,从0基础开始学起。从开始的试听到现在学业结束,不到两个月的时间,我很感谢德润能让我有机会再次体会了两个月的学生时代。在社会上工作了之后,才能体会到学生时代的幸... 查看详情

从大数据入门,到达到一定水平,在学习路径上有啥建议

...定是有帮助的。大数据学习建议:1、0基础小白从Java语言开始学习因为当前的大数据技术主要是用Java实现的或者是基于Java的,想入行大数据,Java基础是必备的;2、Java开发能力需要通过实际项目来锻炼在学习完Java语言之后,往... 查看详情

python爬虫自学要多久

一周或者一个月。如果完全靠自己自学,又是从零基础开始学习Python的情况下,按照每个人的学习和理解能力的不同,我认为大致上需要半年到一年半左右的时间。当然了,Python学习起来还是比较简单的,如果有其他编程语言经... 查看详情

2018新的开始

...年底,我加入了python全栈开发的课程,准备学习python,从开始学习到现在我已经学习了1个半模块,从一个什么都不懂的小白到一个初步了解python的大白,在2018年里,完成学习python的目标,实现爬虫技术和数据挖掘技术。2018年就... 查看详情

hal库只用spi部分可以吗

...家,他的朋友也都离他而去,他的生活变得非常孤独。他开始沉溺于酒精,最终他的生活变得一团糟。但是,他最终还是找到了出路,他开始重新拾起他的生活,他开始重新建立起他的人际关系,他开始重新找到他的方向,他开... 查看详情

如何更加有效的学习一门编程语言?(代码片段)

...时间慢慢在上海扎根,赚钱人生第一桶金。并且今年开始独立负责一个业务,成为一个真正的95后业务操盘手。往下一个人生目标继续奋斗。两年的时间过去了,文章的方法论至今不过时。要知道在两年前乃至现在网... 查看详情

致python初学者-从入门到爬虫开发,这一篇文带你省略学习路上的歪歪扭扭

引子不知从何时开始,Python火遍了大江南北,有几个有趣的例子可以佐证。第一个例子是某房地产大佬在56岁生日当天发了一条微博,表示自己要开始学习Python,作为给自己人生的礼物。完成了几个月的学习后ÿ... 查看详情

一个普通投资者期货开户到现在的血泪史

...:顺势,轻仓,第一时间止损。总之,若怕赔钱快,别嫌赚钱慢。2.进和 查看详情

实践证明手机上到底有没有真正靠谱的赚钱软件?

...利害关系? 由此萌生了一个念头,手机上到底有没有真正靠谱的赚钱软件,这是一个既不昧着良心的欺骗他人,危害社会,而是靠着自己的能力和劳力取得应有的报酬之类正规的互联网手机赚钱平 查看详情

java学习阶段性感想

...顾从2月17日到今天4月19日,我算是暂时完成了Java入门的学习了。从基本语法到面向对象,从常见API到字符串集合,从文件处理到多线程,我学到了很多,很多很多毫不夸张的讲,刷新了我作为一个普通大一学生对计算机编程的... 查看详情

大数据新手的0基础学习路线,从菜鸟到高手的成长之路

...想要了解的。今天我们就来和大家分享下大数据新手从0开始学习大数据,实现菜鸟到高手的转变的学习路线。希望能够帮助想要学习大数据的朋友。如果你想要学好大数据最好加入一个好的学习环境,可以来这个Q群529867072这样... 查看详情

店群真正赚钱的有几个大揭秘

...了就错过了。你是否抓住了这个红利期呢?有人会说店群真正赚钱的没有几个,实际上都是误传,从店群项目中闷声发大财的居多,生怕自己的技术被发现后,被别人抢走利润了。只有遇到问题需要帮助的时候才会出现,而那时... 查看详情

90%的人都不算会爬虫,这才是真正的技术,从0到高手的进阶

...okie有了对爬虫的大致了解之后,就可以从常用的模块开始学起来了,urllib和request是爬虫必学的两个模块,比如说refer和状态码,你得清楚你的程序请求返回的是个什么状态,是成功了 查看详情

真正从零开始,tensorflow详细安装入门图文教程!(帮你完成那个最难的从0到1)

AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲“每日推荐”…... 查看详情

如何从0开始学习大数据挖掘分析?

...很多人咨询,想学习大数据,但不知道怎么入手,从哪里开始学习,需要学习哪些东西?对于一个初学者,学习大数据挖掘分析的思路逻辑是什么?本文就梳理了如何从0开始学习大数据挖掘分析,学习的步骤思路,可以给大家... 查看详情

使用网络爬虫的一丝心得

...具,因此了解到Python、asp.net等可以用来抓数据。想想在学习.net的时候根本没有想到会使用在这个上面——书本上的知识都是死的,那学习的基础知识只能通过不断的拓展使用领域才能在更好的得到深化、应用!进入一个陌生的... 查看详情

故障公告被放出的bing爬虫,又被爬宕机的园子

...时控制并发连接数以免给目标网站造成过大压力。从去年开始,巨头爬虫们开始变了。首先从中文巨头爬虫中的佼佼者——百度蜘蛛开始这些巨头爬虫们现在怎么了?记忆中2022年之前的十几年,园子没有遇到过被巨头爬虫们爬... 查看详情