crawlergo是一个使用chrome headless模式进行URL入口收集的动态爬虫。  使用Golang语言开发,基于chromedp 进行一些定制化开发后操纵CDP协议,对整个页面关键点进行HOOK,灵活表单填充提交,完整的事件触发,尽可能的收集网站暴露出的入口。同时,依靠智能URL去重模块,在过滤掉了大多数伪静态URL之后,仍然确保不遗漏关键入口链接,大幅减少重复任务。

./crawlergo -c /tmp/chromium/chrome -t 20 htts://www.ywnxs.com

crawlergo 拥有灵活的参数配置,以下是详细的选项说明:

  • --chromium-path Path, -c Path chrome的可执行程序路径
  • --custom-headers Headers 自定义HTTP头,使用传入json序列化之后的数据,这个是全局定义,将被用于所有请求
  • --post-data PostData, -d PostData 提供POST数据,目标使用POST请求方法
  • --max-crawled-count Number, -m Number 爬虫最大任务数量,避免因伪静态造成长时间无意义抓取。
  • --filter-mode Mode, -f Mode 过滤模式,简单:只过滤静态资源和完全重复的请求。智能:拥有过滤伪静态的能力。严格:更加严格的伪静态过滤规则。
  • --output-mode value, -o value 结果输出模式,console:打印当前域名结果。json:打印所有结果的json序列化字符串,可直接被反序列化解析。none:不打印输出。
  • --incognito-context, -i 浏览器启动隐身模式
  • --max-tab-count Number, -t Number 爬虫同时开启最大标签页,即同时爬取的页面数量。
  • --fuzz-path 使用常见路径Fuzz目标,获取更多入口。
  • --robots-path 从robots.txt 文件中解析路径,获取更多入口。
  • --tab-run-timeout Timeout 单个Tab标签页的最大运行超时。
  • --wait-dom-content-loaded-timeout Timeout 爬虫等待页面加载完毕的最大超时。
  • --event-trigger-interval Interval 事件自动触发时的间隔时间,一般用于目标网络缓慢,DOM更新冲突时导致的URL漏抓。
  • --event-trigger-mode Value 事件自动触发的模式,分为异步和同步,用于DOM更新冲突时导致的URL漏抓。
  • --before-exit-delay 单个tab标签页任务结束时,延迟退出关闭chrome的时间,用于等待部分DOM更新和XHR请求的发起捕获。
  • --ignore-url-keywords 不想访问的URL关键字,一般用于在携带Cookie访问时排除注销链接。
  • --push-to-proxy 拟接收爬虫结果的监听地址,一般为被动扫描器的监听地址。
  • --push-pool-max 发送爬虫结果到监听地址时的最大并发数。
  • --log-level 打印日志等级,可选 debug, info, warn, error 和 fatal。

原文来自 https://github.com/0Kee-Team/crawlergo

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...