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

浙公网安备 33010602011771号