上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 216 下一页

2014年8月31日

Linux企业级项目实践之网络爬虫(21)——扩展为多任务爬虫

摘要: 高效的网络爬虫是搜索引擎的重要基础。采用多任务并发执行,实现类似于CPU的流水线(pipeline)运行方式,可极大地提高网络和计算资源的利用率等性能。#include "threads.h"#include "spider.h"#include "confparser.h" /* the num... 阅读全文

posted @ 2014-08-31 23:19 三少爷的剑123 阅读(212) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(20)——扩展成为规则插件模式

摘要: 为了方便我们爬虫功能的扩展,最好使用插件机制。使用插件技术能够在分析、设计、开发、项目计划、协作生产和产品扩展等很多方面带来好处:(1)结构清晰、易于理解。由于借鉴了硬件总线的结构,而且各个插件之间是相互独立的,所以结构非常清晰也更容易理解。(2)易修改、可维护性强。由于插件与宿主程序之间通过接口... 阅读全文

posted @ 2014-08-31 23:15 三少爷的剑123 阅读(224) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(19)——epoll接口

摘要: 由于要实现爬虫程序的快速抓取,显然如果采用阻塞型的I/O方式,那么系统可能很长时间都处在等待内核响应的状态中,这样爬虫程序将大大地降低效率。然而,如果采用非阻塞I/O,那么就要一直调用应用进程,反复对内核进行轮询。为了实现发送出系统调用请求,而不必一直返回进行查询,最合适的方案应该是采用poll函... 阅读全文

posted @ 2014-08-31 23:09 三少爷的剑123 阅读(240) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(18)——队列处理

摘要: 所有的URL都接受管理,并在此进行流动。URL从管理模块的存储空间开始,一直到最后输出给磁盘上的URL索引,都由此部分调度。首先,给出URL调度的一般过程,如图所示。其流程的各个具体操作,后面详述。要实现前面DNS的无重复有效请求,那么在这个部分里设置一个Nsite类,实现这样的功能:当一个站点请... 阅读全文

posted @ 2014-08-31 23:07 三少爷的剑123 阅读(242) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(17)——存储页面

摘要: 在爬虫系统中数据的流量相当大,要处理的数据内容不仅包括爬虫系统的各种数据结构空间,而且包括从外部节点中得到的各种数据,比如HTTP请求,HTML页面,ROBOT.TXT等等。如果对这些内容处理不当,那么不仅造成空间的冗余浪费,使爬虫程序效率降低,而且还可能会使系统崩溃。所以,要有合适的空间分配策略... 阅读全文

posted @ 2014-08-31 23:05 三少爷的剑123 阅读(168) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(16)——使用base64传输二进制数据

摘要: 用http传输二进制的数据时,需要将二进制做一下转化,例如传输的int类型,将int类型之间转为char以后,丢失掉了长度的信息,如数字123456,本来只有4个字节,但是转化成文本的“123456”是有7个字节。在int类型的时候固然好办,但是一个数组的时候,经过转化以后,在转化回来就很麻烦了。... 阅读全文

posted @ 2014-08-31 23:02 三少爷的剑123 阅读(402) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(15)——区分文本文件和二进制文件

摘要: HTTP协议支持文本和二进制文件传输。最常见的html格式的页面即文本,图片、音乐等为二进制文件。我们要对这两类文件加以区分并分别处理。static char * BIN_SUFFIXES = ".jpg.jpeg.gif.png.ico.bmp.swf";static int is_bin_ur... 阅读全文

posted @ 2014-08-31 22:56 三少爷的剑123 阅读(185) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(14)——使用正则表达式抽取HTML正文和URL

摘要: 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。... 阅读全文

posted @ 2014-08-31 22:50 三少爷的剑123 阅读(181) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(13)——处理user-agent

摘要: User Agent即用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者... 阅读全文

posted @ 2014-08-31 22:43 三少爷的剑123 阅读(238) 评论(0) 推荐(0)

Linux企业级项目实践之网络爬虫(12)——处理HTTP应答头

摘要: Web服务器的HTTP应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档。设置HTTP应答头往往和设置状态行中的状态代码结合起来。例如,有好几个表示“文档位置已经改变”的状态代码都伴随着一个Location头,而401(Unauthorized)状态代码则必须伴随一个WWW-... 阅读全文

posted @ 2014-08-31 22:35 三少爷的剑123 阅读(209) 评论(0) 推荐(0)

上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 216 下一页

导航