前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ACHE:一款功能强大的聚焦型网络爬虫

ACHE:一款功能强大的聚焦型网络爬虫

作者头像
FB客服
发布2018-02-27 15:05:54
1.3K0
发布2018-02-27 15:05:54
举报
文章被收录于专栏:FreeBufFreeBuf

工具介绍

今天给大家介绍的是一款名叫ACHE的聚焦型网络爬虫工具,你可以给它指定一个需要搜索的主题或属性内容,它便会给你返回相关的搜索页面。

在配置ACHE时,你需要定义一个你感兴趣的话题(例如渗透测试或菜谱),接下来ACHE便会创建一个模型来检测符合该主题的Web页面,并使用识别种子来作为爬取起始点。从起始点开始,ACHE将会对Web页面进行爬取,并尽可能地检索出所有与该主题有关的页面,与此同时,它还会避免重复爬取相同的Web区域。爬取完成之后,你便能够得到一系列与你所设置的主题有关的Web页面了。

下载、安装与编译

使用下列命令将ACHE源码克隆到本地:

接下来,使用compile_crawler.sh对ACHE源码进行编译:

为ACHE的页面分类器创建模型

为了针对某一主题进行Web页面的爬取,ACHE需要访问其内容模型。接下来,分类器需要利用这个模型来决定需要爬取的新页面,并判断该页面是否符合用户所设置的主题。我们假设你在一个A字典和一个B字典中分别保存A样本和B样本,而这些字典需要存储在训练数据字典中。下面给出的代码可以帮助你通过这些样本来构建爬取模型:

:该路径所指向的是包含A样本和B样本的字典路径。

:该路径指向的是你新生成的字典(模型),该模型由以下两份文件组成: pageclassifier.model和pageclassifier.features。

运行ACHE

当模型生成之后,你需要准备好种子文件,其中的每一行都是一个URL地址。你可以使用下列命令开启爬虫:

:该路径指向配置字典。

:即种子文件路径。

:该路径指向模型字典,其中包含pageclassifier.model和pageclassifier.features。

:该路径指向数据输出字典。

:该路径指向语言检测配置:“libs/langdetect-03-03-2014.jar”。

ACHE运行样例:

数据输出字典中保存了什么?

data_target:包含主题相关的页面。

data_negative:包含主题不相关的页面。在默认配置下,爬虫并不会保存主题不相关的页面。

data_monitor:包含爬虫的当前状态。

data_url和data_backlinks:永久保存前端爬取信息以及爬取路径图。

何时终止爬虫运行?

除非你手动终止ACHE的运行,否则它将会在爬取到最大页面数之后终止运行,默认配置下最大为9M,具体可以参考文件data_monitor/harvestinfo.csv来了解当前已下载了多少页面。其中,前三列数据分别为相关页面数、已访问页面数和时间戳。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具介绍
  • 下载、安装与编译
  • 为ACHE的页面分类器创建模型
  • 运行ACHE
  • 数据输出字典中保存了什么?
  • 何时终止爬虫运行?
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档