一个简单的爬虫代码框架

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

第一步,发起网络请求

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

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

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

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

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

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

如何异步处理网络请求?

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

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


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

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

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

如何处理分页数据?


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

如何存储到文件?

如何存储到数据库?


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

1、UrlQueue

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

2、Fetcher

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

3、Parser

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

4、Saver

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • HTTP基本原理 URI、URL、URN(Uninform Resource) URI(Identifier):统...
    GHope阅读 6,523评论 2 26
  • 《这就是搜索引擎》这本书的第二章是关于爬虫的,干货很多(文章几乎没有废话,所以复制居多),可以参考搜索引擎是如何构...
    SeanCheney阅读 6,357评论 0 20
  • 33款可用来抓数据的开源爬虫软件工具 要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即...
    visiontry阅读 12,182评论 1 99
  • 说起来算是游戏认识的吧,众人最不看好的网恋。但是在游戏里面认识了一个师傅,师傅已经有两个徒弟了,后来师傅让我进歪歪...
    九九九久安阅读 1,805评论 0 0
  • 用力相遇 潦草离别 你抱怨、不解甚至怨恨 一个信息 我内疚、自责甚至后悔 我们彼此互道‘你不懂我’ 不愿迁就 晴各...
    关耳方阅读 1,414评论 0 1

友情链接更多精彩内容