源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

golang使用正则表达式解析网页

  • 时间:2020-02-05 23:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:golang使用正则表达式解析网页
废话少说,直接奉上代码:
[url=http://"+ip_pool[i]+":10022]http://"+ip_pool[i]+":10022[/url]"             //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("[url=file://\\<[\\S\\s]+?\\]\\<[\\S\\s]+?\\[/url]>") src = re.ReplaceAllStringFunc(src, strings.ToLower) //  提取table 标签 re,_ = regexp.Compile("[url=file://\\<!doc[\\S\\s]+?\\<table]\\<!doc[\\S\\s]+?\\<table[/url]") src = re.ReplaceAllString(src, "<table") re,_ = regexp.Compile("</table\\>[\\S\\s]+?\\</html\\>") src = re.ReplaceAllString(src, "</table>") // 干掉行首的空格  re,_ = regexp.Compile("([url=file://\\<tr>)([\\S\\s\\<>\"\\d]+?)(\\</tr]\\<tr>)([\\S\\s\\<>\"\\d]+?)(\\</tr[/url]>)")  //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("([url=file://\\w*)(\\w{2}:\\w{2}:\\w{2}:\\w{2}:\\w{2}:\\w{2})([A-Za-z]\\w*)(\\w{2}:\\w{2}:\\w{2}:\\w{2}:\\w{2}:\\w{2})([A-Za-z[/url] ]*)([url=file://\\d{4}-\\d{2}-\\d{2]\\d{4}-\\d{2}-\\d{2[/url]} [url=file://\\d{2}:\\d{2}:\\d{2]\\d{2}:\\d{2}:\\d{2[/url]} )([V\\d\\.]* )([url=file://\\d{4}-\\d{2}-\\d{2]\\d{4}-\\d{2}-\\d{2[/url]}( [url=file://\\d{2}:\\d{2}(:\\d{2]\\d{2}:\\d{2}(:\\d{2[/url]})?)?)") /* ((([url=file://\\d{4}-\\d{2}-\\d{2]\\d{4}-\\d{2}-\\d{2[/url]})+ ([url=file://\\d{2}:\\d{2}:\\d{2]\\d{2}:\\d{2}:\\d{2[/url]})*?)") */ 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("[url=file://\\s{2]\\s{2[/url],}") //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("[url=file://\\<style[\\S\\s]+?\\</style\\]\\<style[\\S\\s]+?\\</style\\[/url]>") //src = re.ReplaceAllString(src, "") //去除SCRIPT //re, _ = regexp.Compile("[url=file://\\<script[\\S\\s]+?\\</script\\]\\<script[\\S\\s]+?\\</script\\[/url]>") //src = re.ReplaceAllString(src, "") //去除所有尖括号内的HTML代码,并换成换行符 //re, _ = regexp.Compile("[url=file://\\<[\\S\\s]+?\\]\\<[\\S\\s]+?\\[/url]>") //src = re.ReplaceAllString(src, "\n") //去除连续的换行符 //re, _ = regexp.Compile("[url=file://\\s{2]\\s{2[/url],}") //src = re.ReplaceAllString(src, "\n") //fmt.Println(strings.TrimSpace(src)) }
以上就是本文给大家分享的代码了,希望大家能够喜欢。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部