这是我的Python学习路线,专门针对爬虫的学习路线,涵盖了从入门到入神的4个阶段,有目标,有路线,有作业,也给了学习资源。
作为一个工程师,总会时不时需要写一些爬虫。
这年头,非工程师都在学习写爬虫。会计,HR,运营,销售都想通过爬虫提高工作效率。
我曾经带队开发过两个大型的爬虫项目:
1. 正品折扣
爬取包括淘宝,京东在内的几十家商城的商品信息,找出正品。同样商品找出最美丽的价格,类似于曾经的一淘。
这个产品虽然没有获得商业上的成功,但在App市场上有几百万的下载量。这样的项目没有大资本,根本玩不转。
2. 天眼资讯
抓取上百家垂直媒体网站,为某细分行业获取相关资讯,帮助决策者获得最新的政策法规,商机,竞争对手动向等。
现在我们来说Python爬虫学习路线。
1 Python基础
Python编程的基础是必不可少的,这里有两个要点:
1.你不需要等到精通了Python才去实践爬虫。
2.但你确实需要刻意加强系统的Python技能。
没有广阔的山脊,珠峰不可能那么高;没有深厚的编程基础,爬虫也不会爬的太深!
所以,打好Python基础:
2 能力阶梯
我把爬虫能力分成了四个等级:
第1级:能爬弱鸡网站
- 会爬基本没有防御的网站,会加基本的Header
- 会翻页,能抓取多页
- 会基本的文件处理,懂爬虫礼仪
第2级:能爬一般防御网站
- 能够爬取通过header做防御的网站
- 能够配合手工,爬取需要登录的网站(cookie)
- 会爬取前后端分离的网站
第3级:能爬专业防御网站
- 能爬取有专业反爬措施的网站,如淘宝,优酷等
- RPA:能自动登录,操作表单,完成工作流程
- 能自动或半自动破解各种验证码
第4级:能设计大型爬虫系统
- 能端到端设计和实现大型的爬虫系统
- 爬取目标,爬取策略,大数据处理
- 系统的反反爬策略,通用爬虫,AI爬虫
3 学习路线
现在来看看如何一级一级往上爬:
第1级 没有防御的网站
1. 挑战作业
- 目标:爬取中关村在线的笑话,会自动翻页。请注意爬虫礼仪,不要爬的太凶。
- 网址:http://xiaohua.zol.com.cn/detail1/1.html
2. 知识技能
- requests基本用法,简单的HTTP知识
- HTML基本知识,beautifulsoup基本用法
- 爬虫礼仪, 基本的python文件读写
3. 学习资源
- HTTP https://www.runoob.com/http/http-tutorial.html
- HTML https://www.w3school.com.cn/
- beautifulsoup https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
- requests https://requests.readthedocs.io/zh_CN/latest/
第2级 能爬一般学习网站
1. 挑战作业
- 目标:完整爬取异步社区书单
- 网址:http://xiaohua.zol.com.cn/detail1/1.html
2. 知识技能
- HTTP知识,尤其是HTTP Headers
- HTML,JSON,JavaScript一般性了解
- Chrome开发者工具,Postman
3. 学习资源
- 加深HTTP https://www.runoob.com/http/http-tutorial.html
- JavaScript,JSON: https://www.w3school.com.cn/
- Chrome开发者工具 https://www.html.cn/doc/chrome-devtools/
- Postman https://www.postman.com/downloads/
第3级 自动操作, JS解密,破解各种验证码
1. 挑战作业
- 根据自定义规则在淘宝挑选优质商品,能自动登录账号,抓订单信息
- 网址:https://www.taobao.com
2. 知识技能
- HTTP POST请求,加深HTML,JS加解密,正则
- tesserocr, 第三方验证码API
- selenium, pyautogui, appinium(爬App)
3. 学习资源
- html, DOM, XPath https://www.w3school.com.cn/
- tesseract https://github.com/sirfz/tesserocr
- 常见验证码 https://www.geetest.com/
- selenium https://selenium-python-zh.readthedocs.io/en/latest/
- pyautogui https://pyautogui.readthedocs.io/en/latest/
第4级 设计大型爬虫系统
1. 挑战作业
- 设计一个系统可以爬取淘宝,京东,拼多多等多个商城
- 对比同一商品在不同商城的价格
2. 知识技能
- scrapy, scrapy-redis, scrapyd
- 数据处理:MySQL, Redis, Elastic Search
- 代理池,通用爬虫(RE或AI)
3. 学习资源
- scrapy https://www.osgeo.cn/scrapy/
- scrapyd https://piaosanlang.gitbooks.io/spiders/content/07day/README7.html
- MySQL https://www.docs4dev.com/docs/zh/mysql/5.7/reference
- Redis http://www.redis.cn/
- 代理池 https://github.com/jhao104/proxy_pool
5 知识体系
把上面所有东西都罗列出来可以分成三部分:
1.蓝色的是核心必备基础,HTTP是爬虫使用的交流语言,HTML, JSON是数据的格式,而DOM, CSS等是解析数据的通用技术。
2.黄色的是通用工具或技术,不管你用Python,还是Java,或者其他编程语言,这些你都用的到。但严格来说,他们不是必备的,都有替代方案。
3.而单纯Python的东西只有上面的绿色部分,相对来说还比较简单。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。