Chinaunix首页 | 论坛 | 博客
  • 博客访问: 701270
  • 博文数量: 102
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1748
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-23 15:42
个人简介

寻找严肃、沉默和专注的力量。

文章分类

全部博文(102)

文章存档

2015年(26)

2014年(8)

2013年(68)

分类: C/C++

2013-06-25 17:20:23

先说下自己遇到的问题吧:
1. configure时提示没有makedepend程序。因为自己使用的是centos,所用使用yum install 来安装makedepend程序。安装过程中centos提示没有makedepend包,yum install makedepend可以安装)

2. 安装+配置完成larbin后,居然没有爬取到结果。在网上查了下,也没有答案。开始怀疑是公司网络有问题,自己回家去试了下,也爬不到网页。后来发现,原来是自己给larbin的starturl有问题。、这些门户作为starturl时都没有结果,但另一些网址,比如http://qdbje.blog.163.com,就可以很顺利地爬取到网页了。

4. larbin的官网()被墙了。如果需要,可翻下。当然也可以此链接处下载得到: 我把自己修改后可用的larbin放在了github ()上,按说明安装后即应该可以使用。

以下大部分为网上的博文,在此整理记录下。

Larbin是一种多功能的网络爬虫,一个法国人最初为 XYLEME project写的,当时只是为了获取网络上的XML文件.Larbin是非常灵活可订制的。

最新版本的Larbin(Larbin在2003年以后就不更新了)在一台普通的PC上一天可爬到5,000,000个网页,当然这很大程序上依赖于你的网速.Larbin工作于linux上,并且依赖于一些标准库,比如adns.

一、安装larbin

下载一个larbin-2.6.3.tar.gz解压,进入目录,运行
./configure
make

进行编译安装.

一般会出很多问题,你需要提前完成以下工作:

1. 确认已经安装了build-essential程序包,最新的GCC编译器,已安装了内核程序包. (如果是centos系统,应该只需要保证安装了gcc、g++、make等编译必须的工具就可以了。)
这一步一般都没问题,该装的都装了.
2.configure时会提示找不到makedepend命令,所以你需要安装一下
sudo apt-get install xutils-dev (在centos系统中,可使用yum install makedepend来安装makedepend,或者去makedepned的官网下载一个rpm包来安装)
3.编译的时候还会出一个问题,说从char*转换到byte*出错,这是由 /larbin-2.6.3/adns下internal.h中第568—571行代码引起的,直接把它注释掉即可.
当然也可以改一下
adns_status adns__parse_domain(adns_state ads, int serv, adns_query qu,
        vbuf *vb, parsedomain_flags flags,
         const byte *dgram, int dglen, int *cbyte_io, int max); 
 修改为:
adns_status adns__parse_domain(adns_state ads, int serv, adns_query qu,
         vbuf *vb, adns_queryflags flags,
          const byte *dgram, int dglen, int *cbyte_io, int max);
改过之后还是会有警告,不过谢天谢地,已经不是error了.

4.make的时候会说找不到,你需要把每个程序文件里的 改为 ,然后加上using namespace std这句话。命令为:

sed -i -e 's/iostream.h/iostream/g'`grep -rl iostream.h *`  
sed -i -e 's/cerr/std::cerr/g'`grep -rl cerr *`
sed -i -e 's/endl/std::endl/g'`grep -rl endl *`
也可以有一种简单省力的方法:到/usr/include/c++/下CP一份iostream文件到larbin的src目录下。并将其的名改为iostream.h.打开此文件添加一句using namespace std;

然后再./configure  make应该就没问题了。
到此,larbin就算安装好了。


二、larbin的配置

larbin的正常使用需要配置options.h和larbin.config这两个文件。如果修改了options.h,则需要重新make一下。如果只修改了larbin.conf则不需要重新make。
下面报一下我的两个配置文件里的内容
larbin.conf
httpPort 8099
inputPort 1976
pagesConnexions 100
dnsConnexions 5
waitDuration 60
startUrl http://qdbje.blog.163.com (网上文章中有使用作为startUrl的,但我的实验表明以此作为种子url,larbin爬不到结果……)
limitToDomain .com .cn .hk end
forbiddenExtensions.tar .gz .tgz .zip .Z .rpm .deb
.ps .dvi .pdf.png .jpg .jpeg .bmp .smi .tiff .gif
.mov .avi .mpeg .mpg .mp3 .qt .wav .ram .rm
.jar .java .class .diff
.doc .xls .ppt .mdb .rtf .exe .pps .so .psd
end

options.h
#ifndef LARBIN_CONFIG
#define LARBIN_CONFIG
#include "config.h"
#define SIMPLE_SAVE 
#define FOLLOW_LINKS
#define CGILEVEL 1
#define DEPTHBYSITE
#define RELOAD
#define CRASH
#endif
三、Larbin的使用
运行  ./larbin (或“nohup ./larbin &”,可使larbin在后台运行)
中止  Ctrl+C        
重起  ./larbin -scratch

注意停止larbin的时候不要用Ctrl+z,那样当你再次 ./larbin或者 ./larbin -scratch的时候,会端口已被占用,无法重新启动.
另外,可通过来访问larbin,从页面上获取一些关于larbin运行的信息。

本文转载自:http://www.cnblogs.com/sunada2005/archive/2013/05/07/3064847.html
详细配置可以参考(其实配置文档很好理解):http://blog.chinaunix.net/uid-26548237-id-3391533.html
阅读(4222) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~