加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Go语言爬取网站磁力链接

发布时间:2020-12-16 09:39:01 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 package main import ( "bufio" "fmt" "io" "io/ioutil" "net/http" "os" "regexp" "strconv" "strings" "time" ) func main() { fmt.Print("输入要查

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

    package main  
      
    import (  
        "bufio"  
        "fmt"  
        "io"  
        "io/ioutil"  
        "net/http"  
        "os"  
        "regexp"  
        "strconv"  
        "strings"  
        "time"  
    )  
      
    func main() {  
        fmt.Print("输入要查询的字符:")  
        reader := bufio.NewReader(os.Stdin)  
        input,_ := reader.ReadBytes('n')  
        x := string(input[0 : len(input)-2])  
        const url,page string = "http://www.btcherry.com/search?keyword=","&p="  
        var Find string  
        FileResult,_ := os.OpenFile("re.txt",os.O_RDWR|os.O_CREATE|os.O_TRUNC,777)  
        defer func() {  
            time.Sleep(1e9 * 2)  
            FileResult.Sync()  
            FileResult.Close()  
        }()  
      
        for i := 1; i < 101; i++ {  
            Find = url + x + page + strconv.Itoa(i)  
            h := strings.Repeat("#",i/2) + strings.Repeat(" ",50-i/2)  
            fmt.Printf("r%02d%%[%s]",i,h)  
            time.Sleep(1e6 * 5)  
            go Resolve(Find,FileResult)  
        }  
    }  
      
    func Resolve(Find string,FileResult io.Writer) {  
        Re0,_ := regexp.Compile("<h5.*h5>")  
        Re1,_ := regexp.Compile(`^<h5 class="h" name="rsrc"`)  
        Re2,_ := regexp.Compile("<span class='highlight'>")  
        Re3,_ := regexp.Compile("</span")  
        Re4,_ := regexp.Compile("</h5>")  
        Re5,_ := regexp.Compile(">")  
        Re6,_ := regexp.Compile(`data-hash="`)  
        Resp,err := http.Get(Find)  
        if err != nil {  
            fmt.Println(err)  
        }  
        Buf,_ := ioutil.ReadAll(Resp.Body)  
        buf := Re0.FindAll(Buf,1000)  
        for _,line := range buf {  
            line = Re1.ReplaceAll(line,[]byte(""))  
            line = Re2.ReplaceAll(line,[]byte(""))  
            line = Re3.ReplaceAll(line,[]byte(""))  
            line = Re4.ReplaceAll(line,[]byte(""))  
            line = Re5.ReplaceAll(line,[]byte(""))  
            line = Re6.ReplaceAll(line,[]byte("magnet:?xt=urn:btih:"))  
            FileResult.Write(line)  
            FileResult.Write([]byte("n"))  
        }  
    }  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读