废话少说,直接奉上代码:
复制代码代码如下:
package main
import (
"fmt"
"time"
"io/ioutil"
"net/http"
"regexp"
"strings"
)
func main() {
ip_pool := []string{
"172.16.1.128",
"172.16.1.129",
"172.16.1.131",
"172.16.1.132",
"172.16.1.133",
"172.16.1.134",
"172.16.1.135",
"172.16.1.136",
"172.16.1.137",
"172.16.1.138",
"172.16.1.190",
}
for {
for i:=0;i<len(ip_pool);i++ {
url := "http://"+ip_pool[i]+":10022"
//fmt.Println("-----------------",ip_pool[i],"---------")
get_url(url)
time.Sleep(1*time.Millisecond)
}
//time.Sleep(time.Second * 60)
}
}
func get_url(url string){
fmt.Println("----------",url,"----------------")
resp, err := http.Get(url)
if err != nil {
fmt.Println("http get error.")
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("http read error")
}
src := string(body)
//将HTML标签全转换成小写
re, _ := regexp.Compile("//<[//S//s]+?//>")
src = re.ReplaceAllStringFunc(src, strings.ToLower)
// 提取table 标签
re,_ = regexp.Compile("//<!doc[//S//s]+?//<table")
src = re.ReplaceAllString(src, "<table")
re,_ = regexp.Compile("</table//>[//S//s]+?//</html//>")
src = re.ReplaceAllString(src, "</table>")
// 干掉行首的空格
re,_ = regexp.Compile("(//<tr>)([//S//s//<>/"//d]+?)(//</tr>)")
//src = re.ReplaceAllString(src, "$2")
src = re.ReplaceAllString(src, "$2]")
// 去掉<>标签
re,_ = regexp.Compile("<[//S//s]+?>")
src = re.ReplaceAllString(src, "")
re,_ = regexp.Compile("/n")
src = re.ReplaceAllString(src, "")
re,_ = regexp.Compile("[ ]+")
src = re.ReplaceAllString(src, " ")
re,_ = regexp.Compile("]")
src = re.ReplaceAllString(src, "/n")
// 变成 json 1 2 3 4
re,_ = regexp.Compile("(//w*)(//w{2}://w{2}://w{2}://w{2}://w{2}://w{2})([A-Za-z ]*)(//d{4}-//d{2}-//d{2} //d{2}://d{2}://d{2} )([V//d//.]* )(//d{4}-//d{2}-//d{2}( //d{2}://d{2}(://d{2})?)?)")
/* (((//d{4}-//d{2}-//d{2})+ (//d{2}://d{2}://d{2})*?)")
*/
src = re.ReplaceAllString(src, "$1,$2,$3,$4,$5,$6,")
//re,_ = regexp.Compile("(<[//S//s]*?/">)([//S//s]+?)(</t")
//src = re.ReplaceAllString(src, "$2,")
// re,_ = regexp.Compile("<[//S//s]+?>")
// src = re.ReplaceAllString(src, "")
//reg := regexp.MustCompile("([A-Za-z]+?)(/n[//s]+)([//d]+)")
// src = reg.ReplaceAllString(src, "$1:$3")
//去除连续的换行符
//re, _ = regexp.Compile("//s{2,}")
//src = re.ReplaceAllString(src, "/n")
//re = regexp.MustCompile("/n//d+")
//fmt.Println(re.ReplaceAllLiteralString("hello/n2/nwork", '/d'))
src = strings.Replace(src,"虚拟机名称 虚拟机MAC 虚拟机状态 心跳时间 引擎版本 病毒库日期 扫描样本数" , "vm_name,vm_mac,vm_state,vm_heart,vm_eg,vm_av_db,vm_count",-1)
fmt.Println(src)
//reg, err := regexp.Compile("[[0-9A-Za-z]{2}:?]{6}")
//fmt.Printf("%q,%v/n", reg.FindString("00:16:3e:4a:29:35"), err)
// "Hello",
// text := "Hello/n123/nGo/n123"
// reg = regexp.MustCompile("([A-Za-z]+?)(/n)([//d]+)")
// fmt.Printf("%q/n", reg.ReplaceAllString(text, "$3:$1"))
//fmt.Println(strings.TrimSpace(src))
//去除STYLE
//re, _ = regexp.Compile("//<style[//S//s]+?//</style//>")
//src = re.ReplaceAllString(src, "")
//去除SCRIPT
//re, _ = regexp.Compile("//<script[//S//s]+?//</script//>")
//src = re.ReplaceAllString(src, "")
//去除所有尖括号内的HTML代码,并换成换行符
//re, _ = regexp.Compile("//<[//S//s]+?//>")
//src = re.ReplaceAllString(src, "/n")
//去除连续的换行符
//re, _ = regexp.Compile("//s{2,}")
//src = re.ReplaceAllString(src, "/n")
//fmt.Println(strings.TrimSpace(src))
}
以上就是本文给大家分享的代码了,希望大家能够喜欢。