package main

import (
"net/http"
"fmt"
"io/ioutil"
"regexp"
) var url string = "https://tieba.baidu.com/p/5518324938?red_tag=1795043739"
var reEmail = `(\d+)@qq.com`
func main() { resp, err := http.Get(url)
handError(err) defer resp.Body.Close() bytesContent, err := ioutil.ReadAll(resp.Body) handError(err) getEmail(string(bytesContent)) } // 处理错误
func handError(err error) {
//fmt.Println(err)
if err != nil{
fmt.Println(err)
} } // 获取邮箱 qq邮箱 使用正则
func getEmail(content string) {
re := regexp.MustCompile(reEmail)
list := re.FindAllStringSubmatch(content, -1) var result []string for _,v := range list {
if v != nil{
result = append(result,v[0])
} }
fmt.Println(result) }

  

结果

GOROOT=/usr/local/go #gosetup
GOPATH=/www/gopath #gosetup
/usr/local/go/bin/go build -i -o /private/var/folders/fc/4txmmczj6q92p6058h3w7t_80000gn/T/___go_build_main_go /www/gopath/src/wang/main.go #gosetup
/private/var/folders/fc/4txmmczj6q92p6058h3w7t_80000gn/T/___go_build_main_go #gosetup
[3304778804@qq.com 742948861@qq.com 1261766424@qq.com 2903927557@qq.com 973327005@qq.com 973327005@qq.com 51061804@qq.com 3154089413@qq.com 2501667505@qq.com 1733510262@qq.com 289207537@qq.com 11886843@qq.com 1069016912@qq.com 765730856@qq.com 643074575@qq.com 330256148@qq.com 2025643306@qq.com 1903987556@qq.com 136772698@qq.com 990242520@qq.com 876958445@qq.com 776283765@qq.com 184756372@qq.com 2580145919@qq.com 710830708@qq.com 459618331@qq.com 964974049@qq.com 1499820286@qq.com 1822036045@qq.com 29522755@qq.com 1903987556@qq.com 2444694413@qq.com]

Process finished with exit code 0

package main

import (
"net/http"
"fmt"
"io/ioutil"
"regexp"
) var url string = "https://tieba.baidu.com/p/5934645800"
var reQQEmail = `(\d+)@qq.com`
var reEmail = `\w+@\w+\.\w+`
func main() { content := getPageString(url)
res1 := getEmail(content,reEmail)
res2 := getEmail(content,reQQEmail) fmt.Println("一共找到邮箱",len(res1))
fmt.Println("一共找到邮箱",len(res2)) } // 处理错误
func handError(err error) {
//fmt.Println(err)
if err != nil{
fmt.Println(err)
} } // 获取邮箱 qq邮箱 使用正则
func getEmail(content string,reg string) []string {
re := regexp.MustCompile(reg)
list := re.FindAllStringSubmatch(content, -1) var result []string for _,v := range list {
if v != nil{
result = append(result,v[0])
} }
return result } func getPageString(url string) string {
resp, err := http.Get(url)
handError(err) defer resp.Body.Close() bytesContent, err := ioutil.ReadAll(resp.Body) handError(err)
return string(bytesContent)
}

  

go 正则 爬取邮箱代码的更多相关文章

  1. java中使用 正则 抓取邮箱

    我们来抓取豆瓣网的邮箱吧!把这个页面的所有邮箱都抓取下来 如https://www.douban.com/group/topic/8845032/: 代码如下: package cn.zhangzon ...

  2. 正则爬取某段子网站前20页段子(request库)

    首先还是谷歌浏览器抓包对该网站数据进行分析,结果如下: 该网站地址:http://www.budejie.com/text 该网站数据都是通过html页面进行展示,网站url默认为第一页,http:/ ...

  3. requests+正则爬取豆瓣图书

    #requests+正则爬取豆瓣图书 import requests import re def get_html(url): headers = {'User-Agent':'Mozilla/5.0 ...

  4. 用HttpClient和用HttpURLConnection做爬虫发现爬取的代码少了的问题

    最近在学习用java来做爬虫但是发现不管用那种方式都是爬取的代码比网页的源码少了很多在网上查了很多都说是inputStream的缓冲区太小而爬取的网页太大导致读取出来的网页代码不完整,但是后面发现并不 ...

  5. 2019-01-31 Python学习之BFS与DFS实现爬取邮箱

    今天学习了python网络爬虫的简单知识 首先是一个爬取百度的按行读取和一次性爬取 逐行爬取 for line in urllib.request.urlopen("http://www.b ...

  6. Python Requests库网络爬取全代码

    #爬取京东商品全代码 import requestsurl = "http://item.jd.com/2967929.html"try: r = requests.get(url ...

  7. 正则爬取京东商品信息并打包成.exe可执行程序。

    本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: import requests import re # 请求头 head ...

  8. 正则爬取京东商品信息并打包成.exe可执行程序

    本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  9. requests+正则爬取猫眼电影前100

    最近复习功课,日常码农生活. import requests from requests.exceptions import RequestException import re import jso ...

随机推荐

  1. Javaweb中的请求路径的相关总结

    重定向和转发相对路径和绝对路径问题 ​ 注意:转发和重定向的URLString前有加 / 为绝对路径 反之为相对路径 1.假设通过表单请求指定的Url资源 action="LoginServ ...

  2. oracle之复杂查询(下):子查询

    复杂查询(下):子查询 8. 1 非关联子查询:返回的值可以被外部查询使用.子查询可以独立执行的(且仅执行一次). 8.1.1 单行单列子查询,子查询仅返回一个值,也称为标量子查询,采用单行比较运算符 ...

  3. 按正常步骤对github的仓库进行push自己本地的代码提示push rejected

    按正常步骤对github的仓库进行push自己本地的代码提示push rejected. 大概原因是:初始化项目时,远程仓库我建了README.md文件,而本地仓库与远程仓库尚未进行文件关联,因此需要 ...

  4. Spring使用@Async实现异步

    使用场景 在实际项目中,一个接口如果需要处理很多数据,如果是同步执行,通过网络请求接口可能会出现请求超时.这时候就需要使用异步执行处理了. 使用经验 代码 异步服务类 @Service // Spri ...

  5. ES6 常用总结——第二章(字符串的扩展)

    ES6为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历. for (let codePoint of 'foo') { console.log(codePoint)} // &quo ...

  6. 【小白学PyTorch】13 EfficientNet详解及PyTorch实现

    参考目录: 目录 1 EfficientNet 1.1 概述 1.2 把扩展问题用数学来描述 1.3 实验内容 1.4 compound scaling method 1.5 EfficientNet ...

  7. ARCENGINE 10 开发遇到的一些问题

    许多版友在刚刚使用ArcGIS 10做开发的时候,都会遇到这样那样的问题.在担任实习版主的这一个多月里,看到了这么几个与开发环境相关的问题,重复被提到相当多,于是我就做了这个FAQ.Q:哪儿有10的A ...

  8. Python-信号量和线程池-semaphore ThreadPollExector

    信号量 其实本质上是锁,Lock是单锁,信号量是指定多把锁,也就是说通过信号量指定多个数线程可以访问相同资源,一般情况下读操作可以有多个,但写操作同时只有一个 信号量模块 semaphore # 使用 ...

  9. P3545 [POI2012]HUR-Warehouse Store

    题目描述 n天.第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他. 如果要满足顾客的需求,就必须要有足够的库存.问最多能够满足多少个顾客的需求. ...

  10. DES加解密算法(C语言实现)

    DES加密和解密算法的实现(C语言) 主要是做个记录,害怕以后代码丢了,先放到这里了. DES再不进行介绍了,可以看上一篇的 DES 的python实现 转载请注明出处:https://www.cnb ...