larbin是一个开源的爬虫,有几个优点:首先抓取效率很高,其次支持对网站进行镜像存储。不过正因为效率高,使用larbin时要非常注意,不要把硬盘搞爆。
larbin使用c++开发的,如果需要python版本的爬虫,建议使用scrapy,模块化做的比较好,很容易定制抓取任务。
larbin已经停止维护了,网上资料也很少。之前在学校的时候用larbin下载网页,整理过一个文档,顺便发出来吧。
下面是安装指南,写的非常简单,如果想进一步了解,建议看“开源爬虫larbin分析”或者larbin主页。
- 下载larbin-2.6.3,并解压:tar -xzvf larbin-2.6.3.tar.gz
- larbin-2.6.3需要使用gcc/g++ 3.3.6的版本编译。Ubuntu默认安装的最新版本的gcc,Ubuntu手动安装旧版本gcc的方法如下:
1.下载[http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/ 3.3.6版本]:
gcc-3.3-base_3.3.6-15ubuntu6_i386.deb;
cpp-3.3_3.3.6-15ubuntu6_i386.deb;
gcc-3.3_3.3.6-15ubuntu6_i386.deb;
libstdc++5-3.3-dev_3.3.6-15ubuntu6_i386.deb;
libstdc++5_3.3.6-15ubuntu6_i386.deb;
g++-3.3_3.3.6-15ubuntu6_i386.deb
2.次按照上序顺序安装:
sudo dpkg --force-depends -i xxx.deb
- 如果makedepend指令不存在时,安装xutils-dev包
sudo apt-get install xutils-dev
pagesConnections 500
dnsConnections 20
depthInSite 10
proxy (下外网网页时须设置,但要注意把以上参数调低,以免代理瘫痪)
startUrl www.sina.com.cn/
startUrl www.hao123.com/
#.png .jpg .jpeg .bmp .smi .tiff .gif (下图像文件时把这一行注释掉)
#define MIRROR_SAVE
#define IMAGES
#define ANYTYPE
#define RELOAD
#define fifoFileWait "Fifowait" (将fifowait改为Fifowait,此为larbin的一个bug)
#define saveDir "save/" (根据需要配置)
1.在src/types.h中72行添加
#define FILELIST "LIST"
2.在src/interf/mirrorsaveuseroutput.cc中添加引用头文件
#include <sys/file.h>
第65行添加
FILE * f_list = fopen(FILELIST, "a");
if(f_list == NULL)
return;
fprintf(f_list, "%s\n", filename);
fclose(f_list);
3.在larbin文件夹下创建一个名为LIST的空文件
- 运行./configure
- 修改config.make文件
CC=gcc-3.3
CXX=g++-3.3