ACHE:一款功能强大的聚焦型网络爬虫
2018-01-14 18:57
190 查看
工具介绍
今天给大家介绍的是一款名叫ACHE的聚焦型网络爬虫工具,你可以给它指定一个需要搜索的主题或属性内容,它便会给你返回相关的搜索页面。在配置ACHE时,你需要定义一个你感兴趣的话题(例如渗透测试或菜谱),接下来ACHE便会创建一个模型来检测符合该主题的Web页面,并使用识别种子来作为爬取起始点。从起始点开始,ACHE将会对Web页面进行爬取,并尽可能地检索出所有与该主题有关的页面,与此同时,它还会避免重复爬取相同的Web区域。爬取完成之后,你便能够得到一系列与你所设置的主题有关的Web页面了。
下载、安装与编译
使用下列命令将ACHE源码克隆到本地:$git clone git@github.com:ViDA-NYU/ache.git
接下来,使用compile_crawler.sh对ACHE源码进行编译:
$./script/compile_crawler.sh
为ACHE的页面分类器创建模型
为了针对某一主题进行Web页面的爬取,ACHE需要访问其内容模型。接下来,分类器需要利用这个模型来决定需要爬取的新页面,并判断该页面是否符合用户所设置的主题。我们假设你在一个A字典和一个B字典中分别保存A样本和B样本,而这些字典需要存储在训练数据字典中。下面给出的代码可以帮助你通过这些样本来构建爬取模型:$./script/build_model.sh <training datapath> <output path>
<training data path>:该路径所指向的是包含A样本和B样本的字典路径。
<output path>:该路径指向的是你新生成的字典(模型),该模型由以下两份文件组成: pageclassifier.model和pageclassifier.features。
运行ACHE
当模型生成之后,你需要准备好种子文件,其中的每一行都是一个URL地址。你可以使用下列命令开启爬虫:$./build/install/bin/ache startCrawl<data output path> <config path> <seed path> <modelpath> <lang detect profile path>
<configuration path>:该路径指向配置字典。
<seed path>:即种子文件路径。
<model path>:该路径指向模型字典,其中包含pageclassifier.model和pageclassifier.features。
<data output path>:该路径指向数据输出字典。
<lang detect profile path>:该路径指向语言检测配置:“libs/langdetect-03-03-2014.jar”。
ACHE运行样例:
$./build/install/bin/ache startCrawl outputconfig/sample_config config/sample.seeds config/sample_modellibs/langdetect-03-03-2014.jar
数据输出字典中保存了什么?
data_target:包含主题相关的页面。data_negative:包含主题不相关的页面。在默认配置下,爬虫并不会保存主题不相关的页面。
data_monitor:包含爬虫的当前状态。
data_url和data_backlinks:永久保存前端爬取信息以及爬取路径图。
何时终止爬虫运行?
除非你手动终止ACHE的运行,否则它将会在爬取到最大页面数之后终止运行,默认配置下最大为9M,具体可以参考文件data_monitor/harvestinfo.csv来了解当前已下载了多少页面。其中,前三列数据分别为相关页面数、已访问页面数和时间戳。
资源获取
ACHE项目主页:【点我访问】ACHE白皮书:【点我获取】
ACHE详细使用教程:【点我获取】
相关文章推荐
- SuperSpider——打造功能强大的爬虫利器
- AT2401C 是一款面向Zigbee,无线传感网络以及其他2.4GHz 频段无线系统的全集成射频功能的射频前端单芯片
- SuperSpider——打造功能强大的爬虫利器
- 向大家推荐一款功能强大且免费的杀毒软件:avast! 4 Professional Edition
- Python实现简单网络爬虫功能
- GetPost请求网络数据 功能很强大
- SuperSpider——打造功能强大的爬虫利器
- SuperSpider——打造功能强大的爬虫利器
- draggabilly一款功能强大的拖动拖拽元素插件
- Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
- CuteEditor是一款功能非常强大的Asp.net HTML编辑器
- iOS开发之窥探UICollectionViewController(四) --一款功能强大的自定义瀑布流
- 分享一款强大的图片查看器插件,手机PC 通吃,功能超级齐全!
- 一款强大的网络带宽监视和调试工具bmon
- 一款开源且功能强大的C#甘特图控件.NET Winforms Gantt Chart Control
- acl_cpp 简单实用、功能强大的C++网络应用与服务器框架库发布
- 一款非常好用且功能强大的工具---percona-toolkit
- SuperSpider——打造功能强大的爬虫利器
- 【总结】一款功能强大的协议分析软件
- Linux企业级项目实践之网络爬虫(30)——通过查阅RFC文档扩充更加复杂的功能