前言

这里稍稍整理一下一下爬虫初学者的学习路线,也给自己一个前进的方向。

爬虫是入门Python最好的方式,没有之一。Python有很多应用的方向,比如后台开发、web开发、科学计算等等,但爬虫对于初学者而言更友好,原理简单,几行代码就能实现基本的爬虫,学习的过程更加平滑,你能体会更大的成就感。

掌握基本的爬虫后,你再去学习Python数据分析、web开发甚至机器学习,都会更得心应手。因为这个过程中,Python基本语法、库的使用,以及如何查找文档你都非常熟悉了。

对于小白来说,爬虫可能是一件非常复杂、技术门槛很高的事情。比如有的人则认为先要掌握网页的知识,遂开始 HTMLCSS,结果入了前端的坑,但掌握正确的方法,在短时间内做到能够爬取主流网站的数据,其实非常容易实现,但建议你从一开始就要有一个具体的目标。

在目标的驱动下,你的学习才会更加精准和高效。那些所有你认为必须的前置知识,都是可以在完成目标的过程中学到的。这里给你一条平滑的、零基础快速入门的学习路径。

一、基础知识

基础语法是必须的,只需要看看视频,百度百度,学习一下简单的语法就可以,有其他语言基础的话事半功倍,其他的也可以在实战中慢慢掌握。

二、简单网站爬取

首先可以入手一下比较简单的静态网站,爬取一些文字,图片等数据,比如豆瓣、糗事百科、腾讯新闻,知乎等

大部分爬虫都是按“发送请求——获得页面——解析页面——抽取并储存内容”这样的流程来进行,这其实也是模拟了我们使用浏览器获取网页信息的过程。

其中需要掌握的请求库有urllib、requests;解析库有Xpath(lxml)、BeautifulSoup(bs4)以及正则表达式,存储可以有文本存储

三、特殊网站爬取

学习一些特殊网站的爬取

比如登录、Cookie、动态网页等问题

四、掌握反爬技巧

掌握各种技巧,应对特殊网站的反爬措施

比如利用时间间隔、代理IP池、抓包、验证码的OCR处理等

五、数据存储

学习数据库基础,应对大规模数据存储

爬回来的数据量小的时候,你可以用文档的形式来存储,一旦数据量大了,这就有点行不通了。所以掌握一种数据库是必须的,学习目前比较主流的 MongoDB 就OK。

MongoDB 可以方便你去存储一些非结构化的数据,比如各种评论的文本,图片的链接等等。你也可以利用PyMongo,更方便地在Python中操作MongoDB。

因为这里要用到的数据库知识其实非常简单,主要是数据如何入库、如何进行提取,在需要的时候再学习就行。

六、爬虫框架

学习爬虫的框架,Scrapy、PySpider等

七、分布式爬虫

爬取基本数据已经不是问题了,你的瓶颈会集中到爬取海量数据的效率。这个时候,相信你会很自然地接触到一个很厉害的名字:分布式爬虫。

分布式这个东西,听起来很恐怖,但其实就是利用多线程的原理让多个爬虫同时工作,基本的掌握 Scrapy + MongoDB + Redis 这三种工具。

Scrapy 前面我们说过了,用于做基本的页面爬取,MongoDB 用于存储爬取的数据,Redis 则用来存储要爬取的网页队列,也就是任务队列。

版权声明:文章转载请注明来源,如有侵权请联系博主删除!
最后修改:2019 年 12 月 26 日 05 : 12 PM
如果觉得我的文章对你有用,请随意赞赏
评论打卡也可以哦,您的鼓励是我最大的动力!