go 正则 爬取邮箱代码
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 正则 爬取邮箱代码的更多相关文章
- java中使用 正则 抓取邮箱
我们来抓取豆瓣网的邮箱吧!把这个页面的所有邮箱都抓取下来 如https://www.douban.com/group/topic/8845032/: 代码如下: package cn.zhangzon ...
- 正则爬取某段子网站前20页段子(request库)
首先还是谷歌浏览器抓包对该网站数据进行分析,结果如下: 该网站地址:http://www.budejie.com/text 该网站数据都是通过html页面进行展示,网站url默认为第一页,http:/ ...
- requests+正则爬取豆瓣图书
#requests+正则爬取豆瓣图书 import requests import re def get_html(url): headers = {'User-Agent':'Mozilla/5.0 ...
- 用HttpClient和用HttpURLConnection做爬虫发现爬取的代码少了的问题
最近在学习用java来做爬虫但是发现不管用那种方式都是爬取的代码比网页的源码少了很多在网上查了很多都说是inputStream的缓冲区太小而爬取的网页太大导致读取出来的网页代码不完整,但是后面发现并不 ...
- 2019-01-31 Python学习之BFS与DFS实现爬取邮箱
今天学习了python网络爬虫的简单知识 首先是一个爬取百度的按行读取和一次性爬取 逐行爬取 for line in urllib.request.urlopen("http://www.b ...
- Python Requests库网络爬取全代码
#爬取京东商品全代码 import requestsurl = "http://item.jd.com/2967929.html"try: r = requests.get(url ...
- 正则爬取京东商品信息并打包成.exe可执行程序。
本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: import requests import re # 请求头 head ...
- 正则爬取京东商品信息并打包成.exe可执行程序
本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...
- requests+正则爬取猫眼电影前100
最近复习功课,日常码农生活. import requests from requests.exceptions import RequestException import re import jso ...
随机推荐
- CSS -- 盒子模型之边框、内边距、外边距
一.使用border为盒子添加边框 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细.样式和颜色(边框三个属性). 1.border-style(边框样式)常见样式有: dashed( ...
- Azure Storage 系列(五)通过Azure.Cosmos.Table 类库在.Net 上使用 Table Storage
一,引言 上一篇文章我们在.NET 项目中添加了 “WindowsAzure.Storage” 的 NuGet 包进行操作Table 数据,但是使用的 “WindowsAzure.Storage” ...
- [CF571B]Minimization(贪心+DP)
题目链接 http://codeforces.com/problemset/problem/571/B 题意 给数组,得到公式最小值. 题解 由题分成的子数组只有两种长度,每种长度的数组数量也是固定的 ...
- netty之handler write
转载自:https://blog.csdn.net/FishSeeker/article/details/78447684 实验过,例如channle的handler里有很多个outhandler,在 ...
- 5.CyclicBarrier-栅栏
- 容器云平台No.5~企业级私有镜像仓库Harbor V2.02
镜像仓库 仓库,顾名思义,就是存放东西的地方,Docker仓库,理所当然,就是存放docker镜像的地方了. Docker仓库分公有仓库和私有仓库.共有仓库有hub.docker.com.gcr.io ...
- OpenCV计算机视觉学习(1)——图像基本操作(图像视频读取,ROI区域截取,常用cv函数解释)
1,计算机眼中的图像 我们打开经典的 Lena图片,看看计算机是如何看待图片的: 我们点击图中的一个小格子,发现计算机会将其分为R,G,B三种通道.每个通道分别由一堆0~256之间的数字组成,那Ope ...
- dedecmsv5.7sp1远程文件包含漏洞审计
dedecms5.7 sp1版本存在远程文件包含漏洞,在此记录审计复现漏洞过程. 漏洞在/install/index.php(index.php.bak)文件中,漏洞起因是$$符号使用不当,导致变量覆 ...
- luogu 3376 最小费用最大流 模板
类似EK算法,只是将bfs改成spfa,求最小花费. 为什么可以呢,加入1-3-7是一条路,求出一个流量为40,那么40*f[1]+40*f[2]+40*f[3],f[1]是第一条路的单位费用,f[2 ...
- 转载:python argparse用法总结
https://www.jianshu.com/p/fef2d215b91d 1. argparse介绍 是python的一个命令行解析包,非常编写可读性非常好的程序 2. 基本用法 prog.py是 ...