请教一个关于使用goquery中的Map(f func(int, *Selection) string) (result []string)问题

nolove · 2020-09-15 16:42:13 · 1187 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2020-09-15 16:42:13 的主题,其中的信息可能已经有所发展或是发生改变。

请先看现在的代码

//打开文件
file, openerr := os.Open("1.html")
    if openerr != nil {
        fmt.Println("打开文件失败")
        os.Exit(0)
    }
    //获取源码
    doc, docerr := goquery.NewDocumentFromReader(file)
    if docerr != nil {
        fmt.Println(docerr)
    }

    //使用Each获取标签内容,这里应该用Map,因为Map返回一个[]string
    doc.Find("#section_2_content").Find("td>div").Each(func(i int, selection *goquery.Selection) {
        fmt.Printf("%d %s" , i, selection.Text())
    })
}

现在获取到的内容是这样的,请忽略前面的数字(变量i)

0 【1】检测到目标主机SSH服务正在运行
                                        1 漏洞编号
                                        2 0x0013034A
                                        3 漏洞类型
                                        4 信息收集类
                                        5 危险级别
                                        6 信息
                                        7 影响平台
                                        8 CVSS分值
                                        9 0.0
                                        10 bugtraq编号
                                        11 CVE编号
                                        12 CNCVE编号
                                        13 国家漏洞库编号
                                        14 CNVD编号
                                        15 简单描述
                                        16 SSH 为建立在应用层和传输层基础上的安全协议
                                        17 详细描述
                                        18 SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
                                        19 修补建议
                                        20 信息收集,无需修复
                                        21 参考网址
                                        22 【2】ICMP权限许可和访问控制漏洞CVE-1999-0524
                                        23 漏洞编号
                                        24 001E93A6
                                        25 漏洞类型
                                        26 CGI类
                                        27 危险级别
                                        28 信息
                                        29 影响平台
                                        30 所有系统
                                        31 CVSS分值
                                        32 0.0
                                        33 bugtraq编号
                                        34 CVE编号
                                        35 CNCVE编号
                                        36 CNCVE-19990524
                                        37 国家漏洞库编号
                                        38 CNVD编号
                                        39 简单描述
                                        40 ICMP权限许可和访问控制漏洞
                                        41 详细描述
                                        42 ICMP信息如netmask和timestamp允许任意主机访问。
                                        43 修补建议
                                        44 配置防火墙或过滤路由器以阻止传出的ICMP数据包。阻止类型13或14和/或代码0的ICMP数据包
                                        45 参考网址

我想把获取到的内容写入excle文件,格式是这样的 excle.png

  • 感觉使用Map(f func(int, *Selection) string) (result []string)会更方便一些,因为它会返回一个[]string

但是对goquery的使用有些模糊,不知道该如何修改代码

请各位师傅指教

谢谢


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1187 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传