您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。
本文要点:从Python爬虫工程师的招聘要求出发制定学习路线,同时还推荐免费优质的学习资源。 打卡学习不迷茫。
干货满满,建议收藏,需要用到时常看看。 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~。
前言(为什么写这篇文章)
我陆陆续续更新了三个关于Python编程方面的专栏(PS: 下面会详细介绍这些专栏)。每个专栏都突出介绍了需要不同阶段需要掌握的知识点,各有侧重点。不过美中不足的是还没有一个全面完善的学习路线图将专栏串联起来。这就好比去一个陌生地方没有地图一样,我们不能走一步算一步,摸着石头过河,而是要走好这一步,想好下一步,知道自己的目标以及要走的路。故在此我专门用一篇文章介绍Python开发工程师需要掌握的相关知识点以及相关知识点的学习路线图。
有了这份学习路线图,妈妈再也不会担心我找不到好工作了。
优质专栏推荐
-
Python从入门到精通推荐理由:该专栏重点介绍Python的基础知识点,语言风趣幽默,通俗易懂。所有的Python基础知识点详细的描述。文中所涉及的实际代码都通过了实践。订阅专栏之后加入学习群,有啥问题可以直接在学习群里问或者私聊我,让你学习路上不再孤单。双十一订阅更是优惠不断:优惠券的领取地址
-
Python笔记推荐理由: 免费专栏,主要记录在使用Python的过程中碰到的一些问题和解决方法。有需要小伙伴可以看看。
-
爬虫推荐理由: 免费专栏,主要记录Python爬虫的相关知识点,持续更新中。
[TOC]
为什么学,怎么学?
学习一门技术,我觉得首先是要明确自己学习的初心。所以,每学一门技术之前不妨给自己来个三连问:第一个问题: 我为什么要学这个技术呢?第二个问题:学了之后可以用来干什么呢?第三个问题:我该怎么学习这个技术呢?下面我就来给出我的答案:
- 第一个问题:我为什么要学习这个技术?我的答案是为了找工作(工作需要)。我相信这也是很多小伙伴的学习目的。作为一个工作多年的老程序员,我学一门技术要么是做技术储备,要么是工作需要。当然,也不排除有的小伙伴是出于兴趣爱好等原因。
- 第二个问题:学了之后可以用来干什么呢?我的答案是用来提高工作效率,增强自身能力。比如学习了Python之后我可以用Python来进行爬虫,来开发网站,来编写脚本等等。
- 第三个问题:我该怎么学习这个技术呢?这个问题也非常重要,在学习之前没有考虑清楚的话就很容易走弯路。我的答案是首先制定一个靠谱的学习路线图,明确先学习什么,后学习什么,明确是通过看书学习,还是通过看视频学习,还是说通过博客学习,明确是边学边练,还是看着视频刷着手机。每个人的学习方法都不尽相同,适合自己的才是最好的。我学习方法是:
- 制定一个靠谱的学习路线图 (百度搜索XX技术的学习路线或者请教大牛)
- 制定学习计划,每天学习什么,每周要学习到啥程度
- 找靠谱的学习资源,边学边练。
- 编写博客记录自己的学习成果。
Python工程师需要哪些技能呢?
Python工程师需要具备哪些技能呢?我说的不算,张三说的不算,李四说的不算。只有实实在在的大厂的招聘要求说的算。这里我截取了几个大厂Python工程师的招聘要求。
-
腾讯招聘Python工程师
-
字节跳动招聘爬虫工程师
-
快手招聘 Python工程师这里找了几个有代表性的大厂的Python工程师的招聘需求。让我们简单分析下这些职位要求。共同点:
- 熟悉Python编程语言(拥有相关的开发经验),语言只是一个工具,对大厂而言只需要你精通某一种开发语言即可。
- 熟悉MySQL (这个是个通用技能,后端开发都绕不过)
- 熟悉Linux 系统环境 (这个是个通用技能,后端开发都绕不过)
- 熟悉主流的爬虫技术及爬虫框架(针对爬虫工程师)
所以,我们的学习路线图也就需要按照这些要求来制定。
1. Python基础的学习路线(必选)
首先是Python基础的需要掌握的知识点的学习路线图。如下图1所示Python 基础必须熟练掌握,这也没啥好说的。这里说下几个特别重要的知识点:
- 数据类型,这是每个程序都会用到的,重点需要掌握序列类型里的列表list,tuple ,还有就是字典dict。
- 然后就是流程控制,循环,判断这个也是必须要会的。
- 接着就是函数,面向对象的思想,以及文件的操作。
- 最后就是并发编程,如何创建一个线程,怎么使用线程池,这个也是必须要掌握的。
Python基础学习资源推荐
这里推荐几个个人认为比较好的学习资源。
- Python从入门到精通推荐理由:通俗易懂,广受好评,同时提供一对一的咨询服务
- C语言中文网Python基础篇推荐理由:通俗易懂,免费,免费,对新手很友好。
- Python3 简明教程推荐理由:实验楼的课程,提供在线学习以及练习的环境,学练一体,入门课程免费。不过保存运行环境需要购买会员
2. Python爬虫的学习路线(必选)
大厂纯Python爬虫工程师的岗位比较少,我找遍了阿里,腾讯,百度,字节的Python爬虫工程师的相关岗位。最终只在字节跳动招聘网站上找到了Python爬虫工程师的岗位。这就告诉我们学习Python不能止步于爬虫。 同样的这里我也给出一份爬虫的学习路线图,如下图2所示。虽然,只掌握爬虫相关的知识点比较难找到对口的好岗位。但是如果能熟练掌握爬虫技术的运用,对自身Python开发能力会有一个非常大的提升。爬虫的学习路线主要是:
- 掌握基础的HTML和Dom树的相关知识点,懂得啥叫元素,啥叫标签,啥是css选择器。
- 按照爬虫的三大步骤:抓取网页源码,提取所需数据,数据存储分别来学习。
- 首先是抓取网页源码,这里就是熟练运用requests库了。
- 接着是提取所需数据了,这里就是要熟练掌握lxml库的运用,XPath选择器,以及正则表达式了。
- 在接着就是保存提取的数据了。数据可以保存到MySQL,NoSQL 等数据库了或者CSV中。一般而言,在实际开发中都是保存数据库中。这就需要我们掌握一些数据库的基础知识了。
- 然后就是多线程爬虫,批量爬取数据的话,单线程的程序肯定是力不从心的,这时候就需要用到在Python基础学到的多线程的知识点。将其运用到实际爬虫中去。
- 如果每次都是这么搞,爬虫的效率势必会比较慢,这就开始学习专业了爬虫框架了Scrapy框架了。经过上述七个步骤,你对Python爬虫技术也了解的差不多了。但是大厂往往要求还会高一点,比如字节的爬虫工程师会要求你熟悉常见反爬封禁策略。
Python爬虫学习资源推荐
- 黑马Python爬虫学习视频获得方式:关注公众号【码农飞哥】回复: 学习资料推荐理由:视频讲解很细致,路线图中涉及到的知识点都讲解到了。唯一美中不足的是视频有点老了。视频还有配套的课件以及代码
- 13天搞定python分布式爬虫_尚学堂Python网络爬虫教程和爬虫实战详解_Python分布式推荐理由:免费视频,尚学堂官方出品,视频较新。爬虫相关的知识点基本涉及到了。
3. Python网站开发(可选)
学习完成Python爬虫中,相信你的Python开发能力已经上了一个很大的台阶,如果有兴趣的话可以学习一下Python网站开发。同样的这里给出了一个学习路线图。如图3所示:网页开发需要了解一些必备的前端知识点。
- 了解前端知识点:HTML,CSS,ajax。
- 学习Flask框架或者Django框架,这两个框架都是Web开发框架。它们的区别是:Flask:小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦的,使用Flask来开发大型网站也一样,开发的难度较大,代码架构需要自己设计,开发成本取决于开发者的能力和经验。Django:大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富。非常适合企业级网站的开发,但是对于小型的微服务来说,总有“杀鸡焉有宰牛刀”的感觉,体量较大,非常臃肿,定制化程度没有Flask高,也没有Flask那么灵活。
另外,快手招聘Python工程师要求掌握Tornado框架,这个框架也是一个Web框架,不过跟其他Web框架最大的不同是它是一个非阻塞式的web框架。
Python网站开发学习资源推荐
- Flask官网
- Django官方文档
- Tornado官方文档
4. Linux 基础(必选)
基本上大多数的项目和网站都是部署在Linux服务器上的,所以掌握Linux的常用操作就显得尤为必要,这也是相关岗位的招聘需求上明确写到的。Linux的学习路线图如下图4所示:因为Linux不是我们学习的重点,所有我们只需要掌握Linux初阶阶段要求掌握的知识点。对于学有余力的同学,可以学下中级乃至高级的知识点。Linux初级阶段重点需要掌握的知识点包括:
- Linux 的常用命令,这个真的太重要了。
- 文件与目录管理
- 文件权限与目录配置
- 文件的打包和压缩
Linux基础学习资源推荐
-
鸟哥的Linux私房菜简体中文版推荐理由:鸟哥的Linux私房菜真的是Linux学习的首推资料。我当初还没买了一本实体书,实在是太厚了,也没有看完。实在不推荐买实体书。不过好在鸟哥的Linux私房菜出了在线学习网站,不过官方网站是繁体中文的,对我们这些使用简体的人来说着实有点不太友好。所以这里我放出了相对比较友好的简体中文版鸟哥的Linux私房菜简体中文网站
-
Linux 命令大全推荐理由:其实日常开发中我们用的最多的就是各种Linux命令,这里推荐一个Linux命令大全的网站。查找命令特别方便。
5. MySQL的学习路线(必选)
从上面的招聘要求我们同样可以看出MySQL也是我们需要要掌握的一个知识点。MySQL的知识点很多很多,如果要学的很深的话着实要花费一番力气。这里我同样的列举出了一个MySQL的学习路线图,如下图5所示:老实说,不管是从事Java开发工程师的岗位,还是从事Python开发工程师,MySQL都是绕不过的坎。这里对MySQL的学习还不能只是掌握一些简单的皮毛知识。而是要将MySQL的进阶知识也要掌握好。针对进阶知识学有余力的同学可以掌握一下,普通的同学只需要掌握到SQL基础即可。特别说明:
- MySQL的SQL基础必须要熟练掌握,最基础的建表删表修改表结构的DDL语句, 最基本的增删改查的DML语句,以及复杂的SQL语句,比如关联查询,子查询等等都是要求必须掌握的。
- 还需要掌握一下数据库事务,数据库锁,以及SQL语句的优化。
MySQL学习的推荐资源
- 《MySQL必知必会》推荐理由:这是我整篇文章中推荐的唯一一本书,无他,就是因为这本书小巧,并且特别是和小白入门学习。
- SQL在线练习leetcode数据库刷题:推荐理由:XUESQL网站是一个练习SQL的网站是,适合从基础开始练习,题目由浅入深,而且有配套B站视频。leetcode不仅可以刷算法题,还可以练习写SQL,而且可以在线测评,和评测算法题一样,也会让你很直观的看到自己所写的SQL的运行速度等。相对而言,leetcode中的SQL题目要复杂些。其实,练习SQL最重要的还是要有实际场景,只靠网站练习可能在实际工作中用处不大,如果你日常工作经常遇到些SQL的场景,那么慢慢你的SQL水平就会提升上去。
总结
本文从大厂Python工程师的招聘要求出发,罗列了作为一个Python工程师所必须掌握的知识点,并附上了众多优质的免费的资料。在此诚邀您加入我的社区。各近3W的社员一起打卡学习,学习的路上不在孤单。
粉丝专属福利关注【码农飞哥】公zhong号
软考资料:实用软考资料
面试题:5G 的Java高频面试题
学习资料:50G的各类学习资料
脱单秘籍:回复【脱单】
并发编程:回复【并发编程】
全网同名【码农飞哥】。不积跬步,无以至千里,享受分享的快乐我是码农飞哥,再次感谢您读完本文。