Python爬虫:手把手教你写迷你爬虫架构

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,若有问题请实时联系我们以作处置。

作者:我爱学Python

Python爬虫:手把手教你写迷你爬虫架构

 

语言&环境

语言:继续用Python开路!

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

一个迷你框架

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

Python爬虫:手把手教你写迷你爬虫架构

 

代码结构:

Python爬虫:手把手教你写迷你爬虫架构

 

  • 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

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

【DevCloud · 敏捷智库】两种你必须了解的常见敏捷估算方法

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

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

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

crawl_thread.py

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

Python爬虫:手把手教你写迷你爬虫架构

 

Step 5. 页面剖析模块

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

Step 6. 页面存储模块

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

webpage_save.py

Python爬虫:手把手教你写迷你爬虫架构

 

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

原创文章,作者:2d28新闻网,如若转载,请注明出处:https://www.2d28.com/archives/22281.html