介绍
创新互联是一家集网站建设,西藏企业网站建设,西藏品牌网站建设,网站定制,西藏网站建设报价,网络营销,网络优化,西藏网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
大家好!回顾上一期,我们在介绍了爬虫的基本概念之后,就利用各种工具横冲直撞的完成了一个小爬虫,目的就是猛、糙、快,方便初学者上手,建立信心。对于有一定基础的读者,请不要着急,以后我们会学习主流的开源框架,打造出一个强大专业的爬虫系统!不过在此之前,要继续打好基础,本期我们先介绍爬虫的种类,然后选取最典型的通用网络爬虫,为其设计一个迷你框架。有了自己对框架的思考后,再学习复杂的开源框架就有头绪了。
今天我们会把更多的时间用在思考上,而不是一根筋的coding。用80%的时间思考,20%的时间敲键盘,这样更有利于进步。
语言&环境
语言:带足弹药,继续用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
url_table.py
Step 3. 记录哪些网页已经下载过的小本本——URL表。
在互联网上,一个网页可能被多个网页中的超链接所指向。这样在遍历互联网这张图的时候,这个网页可能被多次访问到。为了防止一个网页被下载和解析多次,需要一个URL表记录哪些网页已经下载过。再遇到这个网页的时候,我们就可以跳过它。
crawl_thread.py
Step 5. 页面分析模块
从网页中解析出URLs或者其他有用的数据。这个是上期重点介绍的,可以参考之前的代码。
Step 6. 页面存储模块
保存页面的模块,目前将文件保存为文件,以后可以扩展出多种存储方式,如mysql,mongodb,hbase等等。
webpage_save.py
写到这里,整个框架已经清晰的呈现在大家眼前了,千万不要小看它,不管多么复杂的框架都是在这些基本要素上扩展出来的。
下一步
基础知识的学习暂时告一段落,希望能够帮助大家打下一定的基础。下期开始为大家介绍强大成熟的爬虫框架Scrapy,它提供了很多强大的特性来使得爬取更为简单高效,更多精彩,敬请期待!
当前名称:手把手教你写网络爬虫(2):迷你爬虫架构-通用网络爬虫
链接地址:http://www.shufengxianlan.com/qtweb/news9/303059.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联