您的位置 首页 新品

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你框架设计-一个网页可能被多个网页中的超链接所指向。这样在遍历互联网这张图的时候,这个网页可能被多次访问到。为了防止一个网页被下载和解析多次,需要一个URL表记录哪些网页已经下载过。再遇到这个网页的时候,我们就可以跳过它。

回忆上一期,咱们在介绍了爬虫的基本概念之后,就使用各种东西横行无忌的完成了一个小爬虫,意图便是猛、糙、快,便利初学者上手,树立决心。关于有必定根底的读者,请不要着急,今后咱们会学习干流的开源结构,打造出一个强壮专业的爬虫体系!不过在此之前,要持续打好根底,本期咱们先介绍爬虫的品种,然后选取最典型的通用网络爬虫,为其规划一个迷你结构。有了自己对结构的考虑后,再学习杂乱的开源结构就有条理了。

今日咱们会把更多的时刻用在考虑上,而不是一根筋的coding。用80%的时刻考虑,20%的时刻敲键盘,这样更有利于前进。

言语&环境

言语:带足弹药,持续用Python开路!

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

一个迷你结构

下面以比较典型的通用爬虫为例,剖析其工程关键,规划并完成一个迷你结构。架构图如下:

网络爬虫教程(2):迷你结构规划

代码结构:

网络爬虫教程(2):迷你结构规划

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

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

url_table.py

网络爬虫教程(2):迷你结构规划

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

在互联网上,一个网页或许被多个网页中的超链接所指向。这样在遍历互联网这张图的时分,这个网页或许被屡次访问到。为了避免一个网页被下载和解析屡次,需求一个URL表记载哪些网页现已下载过。再遇到这个网页的时分,咱们就能够越过它。

crawl_thread.py

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

网络爬虫教程(2):迷你结构规划

Step 5. 页面剖析模块

从网页中解分出URLs或许其他有用的数据。这个是上期要点介绍的,能够参阅之前的代码。

Step 6. 页面存储模块

保存页面的模块,现在将文件保存为文件,今后能够扩展出多种存储方法,如mysql,mongodb,hbase等等。

webpage_save.py

网络爬虫教程(2):迷你结构规划

写到这儿,整个结构现已明晰的呈现在我们眼前了,千万不要小看它,不论多么杂乱的结构都是在这些基本要素上扩展出来的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/102951.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部