• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go抓取页面邮箱

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
package main

import (
	"flag"
	"fmt"
	"io/ioutil"
	"net/http"
	"regexp"
)
var (
	QQEmall=`\[email protected]`
	reEmall=`\w+@\w+\.\w`
	url string
)

func GetEmall(url string){
	//1.选定目标
	pageStr :=GetPageStr(url)
	//fmt.Println(pageStr)
	//过滤邮箱
	exp:=regexp.MustCompile(reEmall)
	email:=exp.FindAllStringSubmatch(pageStr,-1)
	for _,v :=range email{
		fmt.Println(v[0])
	}
}
//抽取根据url获取内容
func GetPageStr(url string)(pageStr string){
	resp,err:=http.Get(url)
	HandleError(err,"http err")
	defer resp.Body.Close()
	//读取页面内容
	respByte,err :=ioutil.ReadAll(resp.Body)
	HandleError(err,"ioutil err")
	pageStr =string(respByte)
	return pageStr
}
//错误处理
func HandleError(err error,message string){
	if err !=nil{
		fmt.Println(err)
	}

}
////定义命令行参数对应的变量
//var urlName=flag.StringVar(&url,"url","https://tieba.baidu.com/p/6505861166","输入抓取地址")

func init(){
	flag.StringVar(&url,"url","https://tieba.baidu.com/p/6505861166","输入抓取地址")
}
func main(){
	flag.Parse() //解析所有命令行参数
   // fmt.Println(url) //"https://tieba.baidu.com/p/6505861166"
	GetEmall(url)
}

 

 

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
你应该知道Go语言的几个优势发布时间:2022-07-10
下一篇:
持续集成及部署利器:Go(不要和Google的编程语言Go混淆了!)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap