【转】larbin主要代码说明】的更多相关文章

转自:http://blog.csdn.net/s030702614/article/details/5683928 1. 主函数: int main (int argc, char *argv[]) { global glob(argc,argv) //初始化变量.队列 StartThread(startWebserver,NULL) //web服务 cron() //配置初始化 for( ; ;) { waitBandWidth(&old); //等待带宽 poll(NULL,0,10);…
原文地址:http://leihuang.net/2014/06/16/Larbin-Introduction/ 由于近期学校实训.做的是一个搜索相关的项目,而且是c++的一个项目.所以就想到了larbin.于是接下来几天就现研究研究其源代码,再依据项目需求改动其源代码. 不多说,直接进入今天的正题.今天的目的就是简单了解下larbin. Larbin简单介绍 larbin是一种开源的网络爬虫/网络蜘蛛.由法国的年轻人Sébastien Ailleret独立开发,用c++语言实现.larbin目…
前阵子找工作的时候经常会看到epoll多路复用的知识点,无奈自己一点都不懂.慌忙之际也只能去了解个大概.所以最近闲下来之后想要基于epoll机制实现一个比较有用的东西,刚好最近又想爬些东西,希望这次能够写一个高效一点的爬虫. 以前只看过一点点的nutch,自己写的就是用python的几个简单功能来爬,说真的一点技术含量都没,就是把网上的代码拿来改一改,跑一跑,效率没有,还经常出错. Larbin is a web crawler (also called (web) robot, spider,…
分析的函数: void sequencer() //位置:larbin-2.6.3/src/fetch/sequencer.ccvoid sequencer() { bool testPriority = true; ) //unit space = 0 { space = global::inter->putAll(); } int still = space; if (still > maxPerCall) //#define maxPerCall 100 still = maxPerCa…
介绍 功能:网络爬虫 开发语言:c++ 开发者:Sébastien Ailleret(法国) 特点:只抓取网页,高效(一个简单的larbin的爬虫可以每天获取500万的网页) 安装 安装平台:Ubuntu 12.10 下载:http://sourceforge.net/projects/larbin/files/larbin/2.6.3/larbin-2.6.3.tar.gz/download 安装: tar -zxvf larbin-.tar.gz cd larbin- ./configure…
自己网站的ROBOTS.TXT屏蔽的记录,以及一些代码和示例: 屏蔽后台目录,为了安全,做双层管理后台目录/a/xxxx/,蜘蛛屏蔽/a/,既不透露后台路径,也屏蔽蜘蛛爬后台目录 缓存,阻止蜘蛛爬静态缓存文件 下载,阻止蜘蛛爬下载目录,若无用,删除下载目录 编辑器,阻止蜘蛛爬编辑器,也防止编辑器目录被发现产生安全隐患 邮件,阻止蜘蛛爬静态邮件模板 其他页面,无收录价值页面屏蔽 图片,阻止蜘蛛爬除JPG/jpg类文件之外的任何类型图片 核心文件目录,阻止蜘蛛直接爬include及其子目录(函数/类…
larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发.larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源.Larbin只是一个爬虫,也就 是说larbin只抓取网页,至于如何parse的事情则由用户自己完成.另外,如何存储到数据库以及建立索引的事情 larbin也不提供.一个简单的larbin的爬虫可以每天获取500万的网页. 利用larbin,我们可以轻易的获取/确定单个网站的所有链接,甚至可以镜像一个网站…
由于工作原因,打算对larbin的源码进行分析一番 用的是2.6.3版本的larbin源码,由于这是业余,会断断续续的分析上传,已做记录笔记 今天我们分析一下larbin的哈希表 这个哈希表结构比较简单,因为它的主要用处是排重,因此只给出了用于排重的简单函数, 我们来看一下头文件怎么定义的: // Larbin // Sebastien Ailleret // 23-11-99 -> 14-01-00 /* class hashTable * This class is in charge of…
错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd HH24:mm:ss') from dual;原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟.select to_date('2005-01-01 11:11:21','yyyy-MM-dd HH24:mi:ss') from dual;…
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Python, Java, 经验] category: Python --- 我曾经是一个对Java非常反感的人,因为Java的语法非常啰嗦.而用惯了动态类型的Python再使用静态类型的Java就会觉得多出了很多的工作量. 因为工作的关系,我开始使用Java来做项目.在这个过程中,我发现Java在某些方面…
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button1.button2.button3,全文没有注释,去看代码逻辑才能知道这三个按钮的意思,我也是醉了! 下面的规范 有的定的比较死,大家可以根据自己团队的风格进行修改.该文章主要是OC的代码规范,有几个是Swift的规范. OC和Swift的代码规范如下: 一.VC生命周期 模块排列顺序 1. 注意…
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m…
很多人说 Redux 代码多,开发效率低.其实 Redux 是可以灵活使用以及拓展的,经过充分定制的 Redux 其实写不了几行代码.今天先介绍一个很好用的 Redux 拓展-- redux-amrc.它可以帮助我们使用更少的样板代码发起异步 action. 低效的过去 一般情况下,为了清楚地记录异步的过程,我们需要使用 三个 action 来记录状态变化.通常,我们的代码会是这样: const LOAD = 'redux-example/auth/LOAD'; const LOAD_SUCCE…
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法有关系吗?有关系,在compareTo的返回为0时,它表示的是 进行比较的两个元素时相等的.equals是不是也应该对此作出相应的动作呢?我们看如下代码: class City implements Comparable<City> { private String code; private S…
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运行. 项目的核心功能已经基本实现,但12年之后我基本停止了这方面的开发,现在翻出来在这里写出来想和大家交流一下. 鉴于篇幅和精力的原因,请原谅我这篇博文对于技术实现的具体细节谈的不是很多,只能算是一个概述.对业务的说明也不多,我想大家都是技术流,应该一看就明白. 写这个项目的时间是五六年前,现在回过…
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 private Integer totalPage; //总页数 private Integer currPage; //当前页 private Integer startIndex; //开始索引 private List<M> list; //结果集 进行查询的数据set进对象,在运用ModelAnd…
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ———————————————————————————————————————————— 先申请一下 创建一个应用 网站或者移动 注意回调地址(登录的时候会传东西过去) 以网站为例 验证后即可成功,具体看创建时候的提示 记住上面的id 这个是你的api管理页面(更多可以申请) 下面说一下重头戏: 第一步:引入jq<s…
前面好几篇文章,老周都跟大伙伴们聊了跟应用程序域有关的话题,干脆咱们一聊到底吧,做学问就应该这样,有恒心. App Domain的创建新应用程序域的方法中,有一个特殊的重载: public static AppDomain CreateDomain(string friendlyName, Evidence securityInfo, AppDomainSetup info, PermissionSet grantSet, params StrongName[] fullTrustAssembl…
先说下将这个话题的起因:最近发现公司的功能代码,很多在dom对象删除以后,其声明的绑定在window上的resize事件还一直存在,导致相同的功能代码执行了几次.对于我这种轻微代码洁癖的人来说,简直是个大坑. 所以,这里以jQuery的resize方法为例,讲解下我所理解的高效写法. 先看一下普通的在window下绑定resize事件: $(window).resize(function(){ console.log("hehe"); }); $(window).resize(func…
最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux Curl 首先找到的是Jenkins官网的wiki:https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API 在官网首页就有关于触发job的方法: 个人尝试了下,该方式是通过命令行直接调curl去发POST请求的方式来触发job的构建.…
1.了解CodeFormatter插件 在Sublime Text 3中编写代码,为了能让我们的代码格式变得漂亮整洁,需要一个能自动格式代码的插件.这里发现CodeFormatter插件不错,它能支持常见的几种编程语言: * PHP * JavaScript/JSON * HTML* CSS * SCSS * Python* Visual Basic/VBScript* Coldfusion/Railo/Lucee 2.安装CodeFormatter插件 在启动Sublime Text 3程序后…
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇"让kindeditor显示高亮代码"中已经说过,高亮代码主要用的是class,所以 第一步:首先修改kindeditor代码高亮写入pre标签时的class类名: 打开/kindeditor4/plugins/code/code.j…
kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre class="prettyprint lang-js"><script> var KE; KindEditor.ready(function(K) { KE = K.cre…
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样的任务,所以就好好把基础研究了一下,驱动式学习,目标明确,所以还是比较快去接受和理解,然后写代码实现就好了.今天就带领大家走近TSP问题以及群蚁算法. 机器学习目录:[目录]数据挖掘与机器学习相关算法文章总目录 本文原文地址:群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法 1.关于旅行商(…
前言: Annotation注解在Android的开发中的使用越来越普遍,例如EventBus.ButterKnife.Dagger2等,之前使用注解的时候需要利用反射机制势必影响到运行效率及性能,直到后来android-apt的出现通过注解根据反射机制动态编译生成代码的方式来解决在运行时不再使用发射机制,不过随着android-apt的退出不再维护,我们今天利用Android studio的官方插件annotationProcessor来实现一下自己的ButterKnife UI注解框架. 需…
这是今天作项目支持的发现的一个关于WCF的问题,虽然最终我只是添加了一行代码就解决了这个问题,但是整个纠错过程是痛苦的,甚至最终发现这个问题都具有偶然性.具体来说,这是一个关于如何自动为服务接口(契约)的每个操作添加FaultContract与WCF服务元数据发布的问题.接下来通过一个简单的实例来说明这个因为少写了一行代码引发的血案. 一.手工添加FaultContract WCF采用基于消息的通信方式,Endpoint的ABC三要素之一的契约(Contract)的本质就是定义消息的结构.契约不…
本次主要分享几个场景的处理代码,有更好处理方式多多交流,相互促进进步:代码由来主要是这几天使用前端Ace框架做后台管理系统,这Ace是H5框架里面的控件效果挺多的,做兼容也很好,有点遗憾是控件效果基本都是写一起的,分离起来挺麻烦的:这次主要说的是后端代码,以后可以分享下这个框架的使用. 以上是个人的看法,下面来正式分享今天的文章吧: . 扩展HtmlHelper,枚举转化select下拉框效果 . 自定义ActionFilter,验证登陆和权限访问 . 扩展HtmlHelper,无限递归生成菜单…
这两天因为工作需要,要到某个网站采集信息,一是要模拟登陆,二是要破解验证码,本想用第三方付费打码,但是想想网上免费的代码也挺多的,于是乎准备从网上撸点代码下来,谁知道,撸了好多个都不行,本人以前也没接触过这方面的,代码无从下手,最后不知道在哪个兄台博客找到一个国外的第三方开源OCR,说是强大的谷歌公司做维护,C++开发的,有.NET封装的链接库,甚好! 项目地址:https://github.com/tesseract-ocr/tesseract语言库:https://github.com/te…
怎样使用 async & await 一步步将同步代码转换为异步编程 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/6079707.html  序 上次,博主通过<利用 async & await 的异步编程>该篇点睛之作介绍了 async & await 的基本用法及异步的控制流和一些其它的东西. 今天,博主打算从创建一个普通的 WPF 应用程序开始,看看如何将它逐步转换成一个异步的解决方案. 目录 介绍 添加引用 先创…
前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:https://github.com/NewBLife/UWP/tree/master/MvvmDemo/FileOperationDemo 应用主要功能: 本地任何文件多项选择添加 照相机图片添加 显示添加文件(.jpg.png.pdf.xls等)的缩略图 列表文件删除 默认程序显示添加后的文件 应用…