python爬虫架构设计_一起来看一下Python爬虫的迷你爬虫架构--这些你熟悉吗?

语言&环境

语言:继续用Python开路!

2d3edc757f3ceb59ae4cd6ac93f51400.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

ef694b5f90358048b473d13307518a83.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

11e6f32943a3940e0637036dd24baafd.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

d64d62c0d64be92be99a96f08121a9f9.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

一个迷你框架

下面以比较典型的通用爬虫为例,分析其工程要点,设计并实现一个迷你框架。架构图如下:

8df32eb8f56fee73da46ad99bdec497c.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

代码结构:

5bb31817f3c5d248b1c2fedffd49c390.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

config_load.py 配置文件加载

crawl_thread.py 爬取线程

mini_spider.py 主线程

spider.conf 配置文件

url_table.py url队列、url表

urls.txt 种子url集合

webpage_parse.py 网页分析

webpage_save.py 网页存储

看看配置文件里有什么内容:

spider.conf

55038193853c8a6a07f369898665f207.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

c6989e89261a286375cb872412dc6208.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

7547bdba327a51b664b76bcbd8a2a322.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

8f4e2bf34b060b0517dba5a1324c6a7e.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

1e9f13328d4a085fabdbe2c30c42719c.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

be155322b399a0d2feb84102c6b1c458.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

Step 3. 记录哪些网页已经下载过的小本本——URL表。

在互联网上,一个网页可能被多个网页中的超链接所指向。这样在遍历互联网这张图的时候,这个网页可能被多次访问到。为了防止一个网页被下载和解析多次,需要一个URL表记录哪些网页已经下载过。再遇到这个网页的时候,我们就可以跳过它。

crawl_thread.py

d9255f822e4cd2b1c3b6a5870d22c84a.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

6d7224eedf1ed67f7c9cf954e0448de3.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

ccf72026f67871dcfe6339d86dcfd52e.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

c834c5a7dff773ac7ba772e5c8c09960.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

Step 5. 页面分析模块

从网页中解析出URLs或者其他有用的数据。这个是上期重点介绍的,可以参考之前的代码。

Step 6. 页面存储模块

保存页面的模块,目前将文件保存为文件,以后可以扩展出多种存储方式,如mysql,mongodb,hbase等等。

webpage_save.py

29cf275a84f40660cac8ed03e948e162.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

写到这里,整个框架已经清晰的呈现在大家眼前了,千万不要小看它,不管多么复杂的框架都是在这些基本要素上扩展出来的。

此文转载文,著作权归作者所有,如有侵权联系小编删除!

需要源代码的或者想了解更多的(点击这里下载)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值