下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
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")) } }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。