零基础如何学爬虫技术?

1、零基础可能吗?

可能。

2、应该是怎样的步骤?如下:

第一阶段 基础入门:

1. 计算机网络的基础,包括:tcp/ip协议、socket网络编程、http协议

2. 前端的基础:主要是javascript基础和ajax基础

3. python的基础语法

4. 数据库的基础:任何一个数据库都行,但是强烈建议学习mysql或者postgresql

5. html解析的基础:beautifulsoup的使用、xpath和css选择器

6. html下载的基础:urllib或者requests使用

7. 数据保存的基础:如果你要使用的是关于数据库(mysql)的话可以使用pymysql、接下来使用peewee,如果你需要使用的是文档数据库(mongodb)的话,可以选择pymongo,然后使用mongoengine

第二阶段 爬虫实战

经过前面的阶段,你只是具备了最基本的爬虫知识而已,想要真正的抓取爬虫你还需要更进一步的学习

1. 模拟登录:你需要知道cookie和session登录的原理、如果需要针对性的抓取微博等你还需要知道oauth2.0的具体过程

2. 动态网页分析技术: 最基本的方法是通过分析js和html等基础方法,但是很多网站会将这部分逻辑做的很复杂,所以你需要进一步学习selenium和chromedriver相关的基础

3. 验证码的识别:

这里包括最基本的验证码识别,比如ocr识别等,对于更复杂的验证码如果想要自己去识别的话你还得懂机器学习和图像识别技术,简单的方法就是调用第三方服务

4. 对于反爬,你需要懂nginx的基本配置,你需要更一步熟悉http协议的细节

5. 爬虫的开发需要配置多线程开发,所以你需要更加懂多线程的开发,这里包括了线程间通信和线程同步等基础

第三阶段 爬虫监控和运维

一个爬虫上线生产环境你得监控你的爬虫吧,监控一个爬虫你最好是用页面管理吧,所以你得懂:

1. linux基础,用于部署服务

2. docker基础,docker部署的优势和流行相信大家都懂的

3. django或者flask,因为我们需要开发页面去监控爬虫

第四个阶段 爬虫框架和分布式爬虫

1. 你得懂至少一门爬虫框架scrapy或者pyspider

2. 懂了scrapy你还需要知道scrapy-redis知道如何去解决分布式爬虫的问题

3. 你得懂分布式存储的方案:hadoop的一套解决方案

4. 你得懂mongodb文档数据库

5. 你得懂elasticsearch搜索引擎

6. 你得懂kafaka这种分布式发布订阅消息系统

7. 分布式相关的基础如分布式锁等你需要知道原理

第五个阶段 爬虫的应用

这个阶段就是属于应用的领域了,比如你要做人工智能,你得懂人工智能的相关知识,你如果做数据分析你得学习数据分析的基本知识,如果你是想做web服务你需要学习web开发的基础,如果你是想做搜索引擎和推荐系统你得懂相关的基础才行。

猜你喜欢

转载自blog.csdn.net/c710473510/article/details/88765972