最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang使用正則表達式解析網頁

 更新時間:2015年03月20日 10:32:19   投稿:hebedich  
這篇文章主要介紹了golang使用正則表達式解析網頁,需要的朋友可以參考下

廢話少說,直接奉上代碼:

復制代碼 代碼如下:

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")
//去除連續(xù)的換行符
//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 虛擬機狀態(tài) 心跳時間 引擎版本 病毒庫日期 掃描樣本數" , "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")
//去除連續(xù)的換行符
//re, _ = regexp.Compile("\\s{2,}")
//src = re.ReplaceAllString(src, "\n")
//fmt.Println(strings.TrimSpace(src))
}

以上就是本文給大家分享的代碼了,希望大家能夠喜歡。

相關文章

  • Go語言跨平臺時字符串中的換行符如何統(tǒng)一?

    Go語言跨平臺時字符串中的換行符如何統(tǒng)一?

    本文介紹了Go語言中統(tǒng)一換行符的方法,包括使用`strings.ReplaceAll`函數將Windows風格的換行符`\r\n`替換為Unix風格的換行符`\n`,或將`\n`替換為`\r\n`,統(tǒng)一換行符可以避免不同平臺間顯示不一致、傳輸時出現多余的換行符或丟失換行符,以及解析錯誤等問題
    2024-11-11
  • go語言實現通過FTP庫自動上傳web日志

    go語言實現通過FTP庫自動上傳web日志

    這篇文章主要介紹了go語言實現通過FTP庫自動上傳web日志,非常簡單實用,需要的小伙伴快來參考下吧。
    2015-03-03
  • GoLand?使用自定義包的實現步驟

    GoLand?使用自定義包的實現步驟

    包是Go語言中代碼組成和代碼編譯的主要方式,本文主要介紹了GoLand?使用自定義包的實現步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Go語言sync.Cond使用方法詳解

    Go語言sync.Cond使用方法詳解

    Go語言標準庫中還包含條件變量 sync.Cond,它可以讓一組 Goroutine 都在滿足特定條件時被喚醒,每一個sync.Cond結構體在初始化時都需要傳入一個互斥鎖,接下來我們將通過文中例子了解它的使用方法,感興趣的同學跟著小編一起來看看吧
    2023-07-07
  • golang 切片截取參數方法詳解

    golang 切片截取參數方法詳解

    這篇文章主要介紹了golang 切片截取參數方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Golang記錄、計算函數執(zhí)行耗時、運行時間的一個簡單方法

    Golang記錄、計算函數執(zhí)行耗時、運行時間的一個簡單方法

    這篇文章主要介紹了Golang記錄、計算函數執(zhí)行耗時、運行時間的一個簡單方法,本文直接給出代碼實例,需要的朋友可以參考下
    2015-07-07
  • Golang加密解密之RSA(附帶php)

    Golang加密解密之RSA(附帶php)

    安全總是很重要的,各個語言對于通用的加密算法都會有實現。本文先是對RSA算法進行了簡單介紹,后才進行介紹如何用Go實現RSA的加密解密,下面一起來看看吧。
    2016-08-08
  • 基于Golang編寫一個聊天工具

    基于Golang編寫一個聊天工具

    這篇文章主要為大家詳細介紹了如何使用?Golang?構建一個簡單但功能完善的聊天工具,利用?WebSocket?技術實現即時通訊的功能,需要的小伙伴可以參考下
    2023-11-11
  • go sync.Map基本原理深入解析

    go sync.Map基本原理深入解析

    這篇文章主要為大家介紹了go sync.Map基本原理深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Golang并發(fā)繞不開的重要組件之Goroutine詳解

    Golang并發(fā)繞不開的重要組件之Goroutine詳解

    Goroutine、Channel、Context、Sync都是Golang并發(fā)編程中的幾個重要組件,這篇文中主要為大家介紹了Goroutine的相關知識,需要的可以參考一下
    2023-06-06

最新評論

文成县| 建宁县| 建阳市| 彭泽县| 淮滨县| 普格县| 阿荣旗| 定安县| 本溪| 项城市| 鹤峰县| 合水县| 黔西| 广灵县| 平山县| 子长县| 元朗区| 德昌县| 泰安市| 泗阳县| 贺兰县| 蕉岭县| 逊克县| 屏东县| 青龙| 曲靖市| 台州市| 鹿泉市| 湘潭县| 沧州市| 东兴市| 金溪县| 大理市| 宁城县| 沅陵县| 庄河市| 胶南市| 泾阳县| 泊头市| 青龙| 香河县|