08 2014 档案

Linux企业级项目实践之网络爬虫(25)——管理源代码之SVN
摘要:软件项目开发中,一般会用到源代码管理工具SVN。版本控制是管理数据变更的一种技术。对于程序员来说,它已经成为不可或缺的工具,因为他们经常修改软件代码,产生部分的变更,然后第二天再取消所有的变更。想象有一群程序员同时工作的情况你就能理解,为什么需要一个良好的系统来管理可能出现的混乱。Tortoise... 阅读全文

posted @ 2014-08-31 23:45 三少爷的剑123 阅读(153) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(24)——定制规则扩展为垂直爬虫
摘要:在垂直搜索的索引建立之前,我们需要到垂直网站上抓取资源并做一定的处理。垂直搜索与通用搜索不同之处在于,通用搜索不需要理会网站哪些资源是需要的,哪些是不需要的,一并抓取并将其文本部分做索引。而垂直搜索里,我们的目标网站往往在某一领域具有其专业性,其整体网站的结构相当规范(否则用户体验也是个灾难,想想... 阅读全文

posted @ 2014-08-31 23:37 三少爷的剑123 阅读(183) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(23)——系统测试:找出系统中的bug
摘要:为了验证爬虫的业务流程、性能和健壮性需要进行测试。软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试的目的:(1)测试是为了发现程序中的错误而执行... 阅读全文

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

Linux企业级项目实践之网络爬虫(22)——编写爬虫系统服务控制脚本
摘要:需求:1、可通过 service spider start|stop|status|restart 命令对服务进行控制2、spider服务可开机自启动start(){ echo "start spider" /home/projects/spider/spider -d & ex... 阅读全文

posted @ 2014-08-31 23:25 三少爷的剑123 阅读(158) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

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

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

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

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

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

posted @ 2014-08-31 23:02 三少爷的剑123 阅读(394) 评论(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 阅读(179) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

Linux企业级项目实践之网络爬虫(11)——处理http请求头
摘要:http请求头,HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他... 阅读全文

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

Linux企业级项目实践之网络爬虫(10)——处理HTTP状态码
摘要:HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。所有状态码的第一个数字代表了响应的五种状态之一。他们分别是:消息(1字头)成功(2字头)这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。重定向(3字头)这类状态码代表需要客户端采取进一... 阅读全文

posted @ 2014-08-31 22:25 三少爷的剑123 阅读(162) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(9)——通过URL抓取网页内容
摘要:基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志爬虫系统要处理的URL是指使用超文本传输协... 阅读全文

posted @ 2014-08-31 22:19 三少爷的剑123 阅读(293) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(8)——认识URL
摘要:URL是Uniform Resource Location的缩写,译为“统一资源定位符”。也可以说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL的格式由三部分组... 阅读全文

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

Linux企业级项目实践之网络爬虫(7)——DNS解析
摘要:DNS 是Domain Name Service的缩写。域名系统为Internet上的主机分配域名地址和IP地址。IP地址不易于记忆,然而域名地址相比较而言是方便于记忆的。用户如果使用域名地址,当想获得IP地址时,就要向域名服务器发送请求。这个域名服务器就会自动把域名地址转为IP地址返回给用户。爬... 阅读全文

posted @ 2014-08-31 22:06 三少爷的剑123 阅读(471) 评论(1) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(6)——将程序设计成为守护进程
摘要:在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何... 阅读全文

posted @ 2014-08-31 21:58 三少爷的剑123 阅读(193) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(5)——处理配置文件
摘要:配置文件在Linux下使用得非常普遍,但是Linux下没有统一个配置文件标准。我们把配置文件的规则制定如下:1、把“#”视作注释开始2、所有的配置项都都是以键值对的形式出现3、严格区分大小写4、允许数据类型为整型的配置项5、允许数据类型为字符串类型的配置项6、允许数据类型为逻辑型的配置项,取值为y... 阅读全文

posted @ 2014-08-28 01:31 三少爷的剑123 阅读(345) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(3)——设计自己的网络爬虫
摘要:网络抓取系统分为核心和扩展组件两部分。核心部分是一个精简的、模块化的爬虫实现,而扩展部分则包括一些便利的、实用性的功能。目标是尽量的模块化,并体现爬虫的功能特点。这部分提供简单、灵活的API,在基本不改变开发模式的情况下,编写一个爬虫。扩展组件部分提供一些扩展的功能,内置了一些常用的组件,便于对爬... 阅读全文

posted @ 2014-08-28 01:15 三少爷的剑123 阅读(276) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(4)——主程序流程
摘要:当我们设计好程序框架之后就要开始实现它了。第一步当然是要实现主程序的流程框架。之后我们逐渐填充每个流程的细节和其需要调用的模块。 主程序的流程如下:1、 解析命令行参数,并根据参数跳转到相应的处理分支2、 解析配置文件3、 载入处理模块4、 加载种子URL5、 启动抓取任务 主程序的代码... 阅读全文

posted @ 2014-08-28 01:14 三少爷的剑123 阅读(363) 评论(0) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(1)——项目概述及准备工作
摘要:我们在学习了Linux系统编程之后,需要一些实战项目来提高自己的水平,本系列我们通过编写一个爬虫程序,将我们学习的知识进行综合应用,同时在实现项目的过程中逐渐养成一些有用的思维方式,并具有初步的软件开发思想。网络爬虫是搜索引擎的一个重要基本功能。由于互联网上的信息非常庞大,我们借... 阅读全文

posted @ 2014-08-28 01:11 三少爷的剑123 阅读(259) 评论(1) 推荐(0) 编辑

Linux企业级项目实践之网络爬虫(2)——网络爬虫的结构与工作流程
摘要:网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。一个通用的网络爬虫的框架如图所示:网络爬虫的基本工作流程如下:1.首先选取一部分精心挑选的种子URL;2.将这些URL放入待抓取URL队列;3.从待抓取URL队列中取出待抓取在URL,... 阅读全文

posted @ 2014-08-28 01:10 三少爷的剑123 阅读(252) 评论(0) 推荐(0) 编辑

泛化、依赖、关联、聚合、组合
摘要:时间久了不用了,慢慢慢慢也就淡忘了,写一篇博客记录下 借来一张《大话设计模式》图: 类的关系一般分为泛化(继承,实现),依赖,关联,聚合,组合 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接... 阅读全文

posted @ 2014-08-26 16:28 三少爷的剑123 阅读(244) 评论(0) 推荐(0) 编辑

spring framework 4 源码阅读(2)---从ClassPathXmlApplicationContext开始
摘要:Application初始化日志 15:23:12.790 [main] DEBUG o.s.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest search precedenc... 阅读全文

posted @ 2014-08-25 17:57 三少爷的剑123 阅读(171) 评论(0) 推荐(0) 编辑

传智播客8月C/C++基础班开班
摘要:秋天已经向我们走来,在这个充满收获的季节里,大家齐聚传智C/C++学院这个大家庭,无论你曾经从事什么工作,都拥有着一颗热爱C/C++的心,为了自己心中的梦想,大家要付出百倍的努力,要做到“坚持到无能为力,努力到感动自己”。首先是全家福,43人的大家庭,充满温暖和力量。 conew_大家庭.jp... 阅读全文

posted @ 2014-08-20 22:58 三少爷的剑123 阅读(130) 评论(0) 推荐(0) 编辑

虚拟机最佳实践:单个 VM、临时存储和已上传磁盘
摘要:大家好! 我是 Drew McDaniel,来自 Microsoft Azure虚拟机功能研发团队,我从团队成立之初就已加入。 在本博客文章中,我将分享一些最佳实践指南,帮助您充分利用您的Azure虚拟机。这些指南均来自客户反馈,涵盖了客户遇到的一些常见问题。 避免在可用性集中配置单个 V... 阅读全文

posted @ 2014-08-18 19:30 三少爷的剑123 阅读(186) 评论(0) 推荐(0) 编辑

在微软平台上运行 SAP 应用程序
摘要: 本博客介绍了在微软平台上运行 SAP 应用程序的相关信息,作者在基于微软平台使用 SAP 方面有着数十年经验。 发布关于 Azure 的 SAP 说明 几个月前,SAP 针对适用于 SAP 软件的 Azure 即 IaaS 平台发布 SAP 说明。随着这些说明的发布,SAP 正式... 阅读全文

posted @ 2014-08-14 10:55 三少爷的剑123 阅读(185) 评论(0) 推荐(0) 编辑

了解 Windows Azure 存储的可伸缩性、可用性、持久性和计费
摘要:借助 Windows Azure存储,应用程序开发者及其应用程序和用户可以在云中使用可用性更高、持久性更长、可伸缩性更强的海量存储。开发者可以构建能随时随地高效访问数据的服务,在所需的时间段内存储任意数量的数据,并按基于实际使用情况进行付费(仅以所使用和存储的数据为基础)。我们提供以下 3种... 阅读全文

posted @ 2014-08-14 10:34 三少爷的剑123 阅读(128) 评论(0) 推荐(0) 编辑

Windows Azure 存储管理器 (2014)
摘要: Windows Azure存储用户经常希望能够在“管理器”中查看他们的数据,管理器指的是一款可用于显示存储帐户数据的工具。我们之前提供了我们所知的存储管理器列表。在本文中,我们将对此列表进行更新,使其反映出新的变化。请注意,我们想在此列表中列出仍在积极开发的工具,因此我们仅添加了 20... 阅读全文

posted @ 2014-08-14 10:15 三少爷的剑123 阅读(151) 评论(0) 推荐(0) 编辑

AzCopy – 跨帐户复制 Blob
摘要:您可以随时从 aka.ms/AzCopy 下载最新版本。 去年4月发布的版本中的新增功能 支持跨帐户复制 Blob:AzCopy 允许您在相同存储帐户内或不同存储帐户之间复制 Blob(有关跨帐户 Blob 复制的详细信息,请访问此博客文章)。这可以让您无论是从成本还是时间角度都以经济高效的方... 阅读全文

posted @ 2014-08-14 10:06 三少爷的剑123 阅读(138) 评论(0) 推荐(0) 编辑

IDEA 快捷键整理
摘要:1. IDEA内存优化 \IntelliJ IDEA 9\bin\idea.exe.vmoptions ----------------------------------------- -Xms64m -Xmx256m -XX:MaxPermSize=92m -ea -server -Ds... 阅读全文

posted @ 2014-08-13 10:56 三少爷的剑123 阅读(114) 评论(0) 推荐(0) 编辑

spring framework 4 源码阅读(1) --- 前期准备
摘要:在开始看代码之前,需要做的第一件事是下载代码。 在这里:https://github.com/spring-projects/spring-framework 下载完成了发现使用gradle做的源代码的构建管理工具的。 值得庆幸的事情,spring为导入eclipse写了脚本工具,包解压后结构如... 阅读全文

posted @ 2014-08-12 10:53 三少爷的剑123 阅读(102) 评论(0) 推荐(0) 编辑

SOSP 文档 - Windows Azure 存储:具有强一致性的高可用性云存储服务
摘要:之前,我们在第 23 届 ACM操作系统原理研讨会 (SOSP)上发布了一篇文章,其中介绍了 Windows Azure存储的内部详细信息。 您可以在此处找到该文章。此次大会还发布了一段视频讲话(单击此处),您可以在此处找到幻灯片。 这篇论文详细介绍了我们如何通过存储集群提供和扩展... 阅读全文

posted @ 2014-08-03 17:45 三少爷的剑123 阅读(212) 评论(0) 推荐(0) 编辑

AzCopy – 上传/下载 Windows Azure Blob 文件
摘要:在我们收到的请求中,有一个频繁出现的请求是提供一种能在 Windows Azure Blob 存储与其本地文件系统之间轻松上传或下载文件的方法。一年半前, 我们很高兴地发布了 AzCopy, Windows Azure 存储客户借助这款命令行实用程序就可以实现上述操作。该实用程序旨在简化数据传输... 阅读全文

posted @ 2014-08-03 17:44 三少爷的剑123 阅读(201) 评论(0) 推荐(0) 编辑

在 Azure 虚拟机上部署反恶意软件解决方案
摘要:本博客文章由我和我的同事 Sung Hsueh 共同撰写,Sung Hsueh 是 Microsoft Azure 计算部负责安全事项的项目经理。 本博客文章为“虚拟机扩展程序”系列的续集,在本文中,我将针对北美 TechEd 大会上发布的三个全新安全扩展程序进行概述。这些安全解决方案- ... 阅读全文

posted @ 2014-08-03 17:36 三少爷的剑123 阅读(201) 评论(0) 推荐(0) 编辑

通过基于 Linux 的软件 VPN 设备连接到 Windows Azure 虚拟网络
摘要:摘要 本文章将说明如何通过使用软件 VPN 设备,将本地办公室或站点连接到 Windows Azure 虚拟网络。在构建原型或在构建可以尽快利用云的“开发/测试”工作流时,软件VPN 设备特别有用。事实上,即使在 Windows Azure 虚拟网络团队中,我们也采用这些技术在生产环境中自动... 阅读全文

posted @ 2014-08-03 17:15 三少爷的剑123 阅读(5) 评论(0) 推荐(0) 编辑

Azure Storage Client Library 重试策略建议
摘要:有关如何配置 Azure Storage Library 重试策略的信息,可参阅 Gaurav Mantri 撰写的一篇不错的文章《SCL 2.0 – 实施重试策略》。但很难找到关于使用何种重试策略设置的实用指导。本文章提供的建议是基于Microsoft 团队在高负载场景中使用SCL 的实... 阅读全文

posted @ 2014-08-03 16:21 三少爷的剑123 阅读(107) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示