北京大学天网搜索引擎(TSE)源码是由北大团队开发的一款开放源代码的全文检索系统,旨在为用户提供高效、准确的信息搜索服务。
TSE(Tiny Search Engine)是一个用于从互联网非交互式下载文件的免费工具。它支持HTTP协议,并根据查询词或URL检索已爬取页面的结果。
主要功能包括:
1. 正常抓取,称为SE,例如:抓取北京大学范围内的所有网页。
2. 抓取图片及其对应页面的功能,命名为ImgSE。
安装步骤:
1. 执行“tar xvfz tse.XXX.gz”。
运行程序前的注意事项:
默认情况下TSE用于正常爬虫(SE)模式。对于使用ImgSE功能需进行以下更改:
1. 在Page.cpp文件中找到两个相同的函数CPage::IsFilterLink(string plink),一个用于ImgSE,要求URL必须包含“tupian”,“photo”等字样;另一个为正常的抓取模式。根据需要选择并注释相应代码。
2. 在Http.cpp文件中:
i. 找到 if( iPage.m_sContentType.find(image) != string::npos ) 并按需进行适当的修改或注释;
3. 在Crawl.cpp 文件中,分别对以下内容进行适当处理:
i. 根据需求选择并注释if( iPage.m_sContentType != text/html
ii. 选择正确的行
iii. 对“iMD5.GenerateMD5((unsigned char*)iPage.m_sContent.c_str(), iPage.m_sContent.length())”进行适当的修改或注释;
iv. 根据需要对if (iUrl.IsImageUrl(strUrl)) 进行处理。
执行程序:
1. 执行 make clean; sh Clean; make.
2. 对于正常抓取和检索,使用命令 ./Tse -c tse_seed.img. 按照查询词或URL从已爬取的页面中获取结果。
3. 使用ImgSE功能时,先执行 ./Tse -c tse_seed.img, 然后移动 Tianwang.raw.* 数据到安全的地方, 再使用 link4History.url 作为种子文件。
详细功能包括:
1. 支持多线程爬取页面;
2. 持久HTTP连接;
3. DNS缓存;
4. IP封锁;
5. 过滤无法访问的主机;
6. 解析从已爬取页面中提取的超链接;
7. 递归地抓取网页。
8. 输出Tianwang格式或ISAM格式文件。
包中的文件:
- Tse:可执行程序
- tse_unreachHost.list: 根据PKU IP封锁列表无法访问的主机
- tse_seed.pku: PKU种子页
目录包括:
hlink, include, lib, stack, uri 目录用于解析页面内的链接。
TSE由北京大学网络实验室的YAN Hongfei创建,版本更新情况如下:
* 创建时间:2003年7月15日,版本号为 0.1.1
* 更新日期:2003年8月20日,引入多线程爬取页面功能;
* 更新日期: 2003年11月8日, 版本号为 1.0.1;
* 更新时间:2003年11月16日,版本号为 1.1.0
* 更新时间:2003年11月21日,版本号为 1.1.1