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

nolove · · 276 次点击 · 开始浏览    置顶
请先看现在的代码 ``` //打开文件 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](https://static.studygolang.com/200915/65c1ae831cf397099200d5944bf99c5e.png) + 感觉使用Map(f func(int, *Selection) string) (result []string)会更方便一些,因为它会返回一个[]string 但是对goquery的使用有些模糊,不知道该如何修改代码 请各位师傅指教 谢谢

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

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

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