请先看现在的代码
```
//打开文件
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的使用有些模糊,不知道该如何修改代码
请各位师傅指教
谢谢
有疑问加站长微信联系(非本文作者)