没有项目描述

webanalyzer的Python项目详细描述


webanalyzer

PyPI

安装

pip install -U webanalyzer

使用

命令行

第一次运行程序必须先下载指纹规则

[*] webanalyzer --update -d /path/to/rules

也可以使用 git 自行下载规则

[*] git clone https://github.com/webanalyzer/rules.git /path/to/rules

使用方法:

[*] webanalyzer --help
Usage: webanalyzer [OPTIONS]

Options:
  -u, --url TEXT                  Target  [required]
  -d, --directory TEXT            Rules directory, default ./rules
  -a, --aggression INTEGER RANGE  Aggression mode, default 0
  -U, --user-agent TEXT           Custom user agent
  -H, --header TEXT               Pass custom header LINE to serve
  -v, --verbose INTEGER RANGE     Verbose level, default 2
  -r, --rule TEXT                 Specify rule
  --disallow-redirect             Disallow redirect
  --list-rules                    List rules
  --update                        Update rules
  --version                       Show the version and exit.
  --help                          Show this message and exit.

例子:

[*] webanalyzer -u "http://blog.fatezero.org" -d path/to/rules
[{"name": "Fastly",
        "origin": "wappalyzer"},
    {"name": "Hexo",
        "origin": "wappalyzer",
        "version": "3.8.0"},
    {"name": "Varnish",
        "origin": "wappalyzer"},
    {"name": "GitHub Pages",
        "origin": "wappalyzer"},
    {"name": "Ruby on Rails",
        "origin": "implies"},
    {"name": "Ruby",
        "origin": "implies"}]

使用路径指定某个 rule

[*] webanalyzer -u "http://blog.fatezero.org" -p /path/to/hexo.json
{"name": "Hexo",
    "origin": "test",
    "version": "3.8.0"}

类库

作为类库使用

importwebanalyzer# 初始化w=webanalyzer.WebAnalyzer()# 设置自定义 headersw.headers={"User-Agent":"custom ua","header-key":"header-value"}# 是否允许跳转w.allow_redirect=True# aggression 模式级别w.aggression=0# 设置 requests timeout 时间w.timeout=30# 设置 rules 路径w.rule_dir="rules"# 下载或更新某个路径下的 rulesifw.update_rules():print("update rules successful")# 重新加载 rulesn=w.reload_rules()print("reload %d rules"%n)# 获取所有 rulesr=w.list_rules()print("list %d rules"%n)# 使用某个 rule 进行检测r=w.test_rule("http://blog.fatezero.org","rules/wappalyzer/hexo.json")print(r)# 使用所有 rules 进行检测,默认会重新 reload rulesr=w.start("http://blog.fatezero.org",reload=False)print(r)

Q & A

  • 和 WhatWeb、Wappalyzer 的区别?

WhatWeb 的规则使用 ruby 编写,在规则方面,其他编程语言很难复用,也只能通过子进程的方式调用 WhatWeb。 Wappalyzer 更多的作为一个浏览器插件使用。

  • 为什么只支持 Python3.6 以及以上的 Python 版本?

因为有些正则规则使用了 (?-flag:...) 这样的写法,然而在 https://docs.python.org/3/whatsnew/3.6.html#re 才开始支持。

引用

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何上传文件。HTML/Javascript格式的mp3文件并发送到Java后端   eclipse问题:使用Selenium WebDriver(java)从下拉列表中查找元素   java如何通过通知恢复应用程序   java Repast聚合数据集,但在Repast Simphony中分别针对每个实例   java为什么收到Http/1.1400错误请求?   java如何简单地检查请求体是否为空或请求体是否有空字段?   java JTable:如何避免重复行和聚合项目数量   java如何部署和访问Dropwizard应用程序   java找不到基本类weblogic。部署者   JavaSpringWebMVC互动程序从相同的定义扩展而来   javascript Xsl transformToDocument不适用于chrome浏览器,但适用于firefox   java创建存储泛型类型对象的ArrayList数组   如何在Java中禁用抛出异常或fillInStackTrace()   使用ConstraintValidator使用两种类型进行java自定义bean验证   java组织。百里香。例外情况。TemplateProcessingException:连接href