基于golang的小爬虫,爬取QQ邮箱号和QQ号
这个只是一个简单的版本只是获取QQ邮箱并且没有进行封装操作,另外爬出来的数据也没有进行去重操作
package mainimport ( "fmt" "io/ioutil" "log" "net/http" "regexp")//这个只是一个简单的版本只是获取QQ邮箱并且没有进行封装操作,另外爬出来的数据也没有进行去重操作var ( // \d是数字 reQQEmail = `(\d+)@qq.com`)// 处理异常func HandleError(err error,why string) { if err != nil { fmt.Println(why, err) }} // 爬邮箱func GetEmail() { // 1.去网站拿数据 resp, err := http.Get("https://tieba.baidu.com/p/6051076813?red_tag=1573533731") HandleError(err,"http.Get url") defer resp.Body.Close() if resp.StatusCode != 200 { log.Fatalf("status code error: %d %s", resp.StatusCode, resp.Status) } // 2.读取页面内容 pageBytes,err := ioutil.ReadAll(resp.Body) HandleError(err,"ioutil.ReadAll") // 字节转字符串 pageStr := string(pageBytes) //fmt.Println(pageStr) // 3.过滤数据,过滤qq邮箱 re := regexp.MustCompile(reQQEmail) // -1代表取全部 results := re.FindAllStringSubmatch(pageStr,-1) //fmt.Println(results) // 遍历结果 for _,v := range results { fmt.Println("email:",v[0]) fmt.Println("email:",v[1]) }}func main() { GetEmail()}
运行结果:
email: 1184822807@qq.com email: 1184822807 email: 1184822807@qq.com email: 1184822807 email: 598088118@qq.com email: 598088118 email: 598088118@qq.com email: 598088118 email: 835428013@qq.com email: 835428013 email: 835428013@qq.com email: 835428013 email: 934555653@qq.com email: 934555653 email: 934555653@qq.com email: 934555653 email: 695527214@qq.com email: 695527214
赞 (0)