NSFOCUS_V5 漏扫报告 漏洞提取工具编写

 

 

代码地址:https://github.com/ssjt21/nsfocus_V5_V6_2_excel

  

  A. XPATH尝试

    1. 尝试了一下,在提取tr标签时总是出现问题,总是提取数量不够,不知道那里有问题

    2. 各种方式尝试无果,想想,最近比较清闲,就用正则写吧,( BeatifuSoup 使用很简单,数度就是慢一点了

 

  B. 使用了zipfile模块,可以再不解压的方式下对压缩包中的数据读取

 

  C. 坑: \xa0 编码GBK写入Excel总是出错的问题:需要将编码转至str然后使用 replace 方法,也有使用 ''.join(s.split()),但是我的并没有起效

1 replace(u'\xa0',u' ') #处理然后再转成目标编码

  

  D. 处理数据的时候,一次匹配不不到目标数据,可以使用多次匹配,先匹配大范围的目标,然后一步一步直接

    在匹配之前一定使用编辑器将代码格式化,然后大概的把目标数据浏览下,确定唯一识别的边界

    使用浏览器固然方便,但是有的时候,浏览器会做一些处理,比如将单引号转成双引号,导致你无法正确匹配

  

  E . cprint 模块使用起来很不错,但是就是不支持cmd控制台,表示有点遗憾

 

  F. 网上找来编码处理的一段代码很不错,分享出来:

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def getCoding(strInput):
    '''
    获取编码格式
    '''
    if isinstance(strInput, unicode):
        return "unicode"
    try:
        strInput.decode("utf8")
        return 'utf8'
    except:
        pass
    try:
        strInput.decode("gbk")
        return 'gbk'
    except:
        pass
 
 
def tran2UTF8(strInput):
    '''
    转化为utf8格式
    '''
    strCodingFmt = getCoding(strInput)
    if strCodingFmt == "utf8":
        return strInput
    elif strCodingFmt == "unicode":
        return strInput.encode("utf8")
    elif strCodingFmt == "gbk":
        return strInput.decode("gbk").encode("utf8")
 
 
def tran2GBK(strInput):
    '''
    转化为gbk格式
    '''
    strCodingFmt = getCoding(strInput)
    if strCodingFmt == "gbk":
        return strInput
    elif strCodingFmt == "unicode":
        return strInput.encode("gbk")
    elif strCodingFmt == "utf8":
        return strInput.decode("utf8").encode("gbk")

  G:  IF使用记录一下:

1
2
3
4
5
6
7
def getlevel(value):
    try:
        value=int(value)
        return u'高' if value>=7 else u'中' if value>=4 else u'低'
    except:
        return False
    pass

  H: 使用Pyinstaller将脚本打包过后无法运行的原因:

    带有中文的输出的地方都要统一转换成Unicode编码,要在前面加u

 

      

 

posted @ 2018-09-20 22:04  随时静听  阅读(501)  评论(0)    收藏  举报
编辑推荐:
· 记一次.NET MAUI项目中绑定Android库实现硬件控制的开发经历
· 糊涂啊!这个需求居然没想到用时间轮来解决
· 浅谈为什么我讨厌分布式事务
· 在 .NET 中使用内存映射文件构建高性能的进程间通信队列
· 一个 java 空指针异常的解决过程
阅读排行:
· 干翻 Typora!MilkUp:完全免费的桌面端 Markdown 编辑器!
· 记一次.NET MAUI项目中绑定Android库实现硬件控制的开发经历
· 从WebApi迁移到Minimal API?有了这个神器,小白也能10分钟搞定!
· Kafka为什么吞吐量大,速度快?
· 抛开官方库,手撸一个轻量级 MCP 服务端
点击右上角即可分享
微信分享提示