一个简单的爬虫代码框架

简单来说,一个爬虫的工作流程可以分为以下三个步骤(以及每个步骤应该处理的问题)

第一步,发起网络请求

怎样处理需要登录的操作?

反爬虫的机制有哪些,如何避免反爬虫?

如何用队列批量处理网络请求?

网络请求中经常用到的库有哪些?

为什么要用IP代理,如何构建自己的IP代理池?

你的UA库、COOKIE池是怎样的?

如何异步处理网络请求?

如何科学的优化网络请求?

以上种种,为了不被反爬虫机制干掉,所以我们要尽量模仿真实用户的网络请求。


第二步,解析获取的数据,提取你想要的内容

如何提取目标内容,有哪些常用的库?

如何获取需要js渲染的网页内容?

如何处理分页数据?


第三步,持久化,将数据存储到文件系统或数据库中

如何存储到文件?

如何存储到数据库?


通过以上对爬虫工作过程的分析,那么一个简单的爬虫框架主要分成四个部分:

1、UrlQueue

URL管理器,对将要爬取的和已经爬取的URL进行管理。

2、Fetcher

网页下载器,从UrlQueue中获取一个URL,传给网页下载器,下载器将URL指向的网页内容下载下来。

3、Parser

网页解析器,将Fether下载的内容进行解析,一方面获取目标数据,另一方面获取需要的URL,补充到UrlQueue中去。

4、Saver

持久化,将数据存储到文件系统,或者数据库中。

你可能感兴趣的:(一个简单的爬虫代码框架)