爬虫,搜索引擎,去重

要指导几个学生做项目,基本述求:

1、使用爬虫爬取指定网站数据。
2、能够识别出不同来源、不同时间的重复内容。
3、分析热点事件。

技术选型

  • 爬虫使用Heritrix
  • 索引、查询使用Lucene + 复旦大学的分词器
  • 网页去重使用SimHash算法

Heritrix

Heritrix官方网站:https://webarchive.jira.com/wiki/display/Heritrix

Github:https://github.com/internetarchive/heritrix3

Lucene

可以从清华大学的镜像仓库下载:

https://mirrors.tuna.tsinghua.edu.cn/apache/
http://archive.apache.org/dist/lucene/java/

Gradle

dependency {
    compile: 'org.apache.lucene:lucene-core:6.6.0'
}

网页去重算法

http://blog.csdn.net/u013053333/article/details/23854097
http://blog.csdn.net/beta2/article/details/5014530
http://lusongsong.com/info/post/346.html
http://blog.csdn.net/sunny_ss12/article/details/46958155
http://yanyiwu.com/work/2014/01/30/simhash-shi-xian-xiang-jie.html (推荐)
http://grunt1223.iteye.com/blog/964564 (推荐)

C++实现
https://github.com/yanyiwu/simhash

Java实现
https://github.com/CreekLou/simhash 依赖lucene-core-3.6.1
https://github.com/sing1ee/simhash-java 依赖guava