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. 网上找来编码处理的一段代码很不错,分享出来:

  

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使用记录一下:

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  随时静听  阅读(447)  评论(0编辑  收藏  举报