当前位置: 首页 > 后端技术 > Python

从开始学习爬虫到赚到真金白银只用了一个月——一个普通大学生的逆袭之路

时间:2023-03-26 14:12:12 Python

前言我毕业六年了,但只有两年的技术和Python相关的工作经验。今天想和大家分享一下我转行的故事,希望能鼓励和我一样的朋友一起前行。我们会谈谈我的个人经历和入门故事,个人技术成果,讨论快速学习的方法,最后推荐一些学习资源。个人简介及经历2020年之前,我并不是专业的研发人员,工作内容甚至与技术无关。我的专业是“软件开发”,但是大专的时候没有好好学习,导致毕业后碰壁。毕业第一年,他进入了一家互联网金融公司,在技术部做老三。随着公司的发展和人数的增加,我从弟弟变成了弟弟,后来成为了技术部门和公司高层沟通的纽带。从这个时候开始,我离技术越来越远,然后慢慢转到运营岗位,通过努力,从运营小哥变成了运营小哥。互联网金融崩盘,暴走爆发,感觉这个行业岌岌可危,感觉自己的操作水平也跳不上去了(说什么都达不到也不为过).也正是那段时间,让我了解了Python语言,了解了爬虫对于业务运营和开发的重要性,了解了Python的易学性。于是下班看了Python的入门教程,按照网上的文章尝试运行自己写的代码。我读书的时候,学校教C语言,C#和PHP,我一个都没学。只有这一次,我觉得我可以学习Python了。在家上网看Python的介绍文章和视频,每天抽空学习。跟着教程学了大概一个月,自己尝试做一些小需求,比如爬一些公共数据,写Python程序等等。那时候完成任务需要两三天,奖励一般在30到300,有时还通过回答群友问题收到几块钱的小红包。实践是检验真理的唯一途径。不实践,就不知道自己的技术水平到了什么地步,也不会查漏补缺。打工是我磨练技术水平的途径之一。后来随着时间的推移,大概7个月后,我觉得自己也算是初级爬虫工程师了,1000多块钱的兼职都接受了。但是打工已经不能满足我的技术成长需求,于是在智联和51job找了一些招聘爬虫或者Python研发的公司,投了简历。三天之内,我接到了5次面试,顺利找到了一份爬虫负责人的工作。工作期间,我们爬虫团队的任务是完成技术总监布置的数据爬取任务。目标分为两类:网站和应用程序。我们公司是做体育行业的,所以数据变动很常见,这就要求爬虫组能够经常爬取数据。为了省事,我参考了Scrapyd和Celery,用Django写了一个支持Crontab规则的调度平台,这样我们写的爬虫就可以在这个调度平台上集中管理。在反爬虫方面,对于那些使用JavaScript来保护数据的网站,我们最初采用自动渲染工具如Selenium或Splash来对付它们。但后来考虑到高频、时效性、资源占用等问题,硬着头皮解决了目标网站中的JS算法,然后用Python模拟实现了同样的算法。这样,爬虫的爬行速度和资源占用都被调整到最佳状态。我觉得自己进入技术领域,就应该踏踏实实的留在这个领域,想办法扎根。快速学习方法对于转行的朋友,或者刚接触IT技术的朋友来说,最重要的是两件事:如何保持专注,能够坚持找到快速学习的方法。第一件事其实并不难。保持专注和能够坚持的原因通常有两个:经济收入或爱好。看我的成长经历,其实这也是我坚持的原因。刚开始学习的时候,完全是出于兴趣和转行的压力。前三个月,一些微薄的收入也是我继续前进的主要原因。第二件事是找到快速学习的方法。可以说,我的进步是非常快速和扎实的。深知“浮沙难立高台”的道理,所以在学习的过程中,我通过写文章巩固所学,只专注于一个领域(爬虫)。Python可以向多个方向发展,比如WEB、爬虫、数据分析和深度学习。我知道,要想扎根,就必须专注于一个领域。从最初的网络请求、网页解析到数据存储、爬虫部署调度,再到异步、多线程多进程、去重增量研究,甚至反爬虫研究,都属于爬虫领域。为了保持专注,我改变了自己的作息时间,从原来的“早上八九点起床,凌晨一两点睡觉”改为“早上六七点开始,晚上十一点睡觉”。周末也是如此。早睡早起让我有充足的精力继续工作和学习。选择了某个领域并坚持了足够的时间之后,还有其他一些因素可以让人快速进步:阅读源代码和造轮子。阅读源码可以让我们从更高的角度理解程序的设计,学到很多平时看不到的取巧操作。而造轮子就是考验我们将知识转化为代码的能力。我看过/研究过源码的项目有:ScrapydScrapyCeleryGerapySpiderKeeperSpiderWebWebSocketsWebsocketClientParselapschedulerJob_Spider,一个用Rust语言写的定时任务库这里建议大家看源码查资料肯定会用搜索引擎,搜索引擎列出的文章不是一定准确的。有的文章甚至连首尾都漏掉了,所以最好直接翻官方文档或者找一些知名作者写的文章来学习。学习资源推荐的学习资源是学习质量和速度的保证,所以寻找优质的学习资源对我们来说也是非常重要的。下面列出的学习资源都是不错的资源,不分排名:1.Python各个方向的学习路线,大家可以根据以上知识点找到对应的学习资源,保证自己学得更全面。其次,要想学好软件,必先利其器。学习Python常用的开发软件都在这里,为你节省大量时间。3、全套PDF电子书的优势在于权威性和系统性。刚开始学习的时候,看视频或者听别人讲课就可以了,但是学完之后就觉得自己已经掌握了。这个时候,建议还是要去看书,阅读权威的技术书籍也是每个程序员的必由之路。4.入门学习视频我们在看视频学习的时候,不能光动眼动脑筋不动手。更科学的学习方法是理解后再使用。这时候动手项目就很适合了。4.实际案例光学理论没有用。您必须学会跟随并进行实际练习,以便将所学知识应用到实践中。这时候可以借鉴一些实际案例。5.面试材料要想找到一份高薪的工作,一定要学会Python。以下面试题为阿里、腾讯、字节跳动等一线互联网公司的最新面试资料,阿里大佬给出了权威解答。刷完这套面试资料,相信大家都能找到满意的工作。小伙伴们,如果你需要这套完整的Python学习资料,【点击这里】免费获取。结语不管你在互联网行业处于什么位置,你都应该把自己当作一个学生。这比大多数职业要求更高,因为这个行业总是在变化。没有一个开发人员对所有事情都了如指掌,前一分钟他们还在做,下一分钟就会发生变化,他们必须学习更多。如果你沾沾自喜,停止阅读和学习,你注定会落后。即使你有一份不需要学习任何新东西的工作,一旦你失去那份工作(这并非不可能),你也会远远落在后面。所以即使有这样的工作,我也建议大家边工作边学习。无论喜欢哪种语言、框架、库,都要及时更新知识。如果你的职位所需要的只是旧知识,这也是可以理解的,因为许多领导倾向于认为,如果公司没有破产,那么就没有必要修复它。所以你仍然会发现团队使用过时的、不受支持的技术只是因为它仍然有效。如果您在工作中学到了这方面的新知识,那么您可以向团队展示更快、更高效、更简单的新技术是可能的。您也许能够说服他们更新他们的技术并改进公司。无论您是开发新手还是经验丰富的老手,我希望这些技巧对您有所帮助。