larbin是一個開源的爬蟲,有幾個優點:首先抓取效率很高,其次支持對網站進行鏡像存儲。不過正因爲效率高,使用larbin時要非常注意,不要把硬盤搞爆。
larbin使用c++開發的,如果需要python版本的爬蟲,建議使用scrapy,模塊化做的比較好,很容易定製抓取任務。
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