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

自己写的一个抓取页面email地址的小程序

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

媳妇的工作需要群发邮件,见她一个一个的复制粘贴,有些不忍,编写了一个邮箱批量抓取的小程序,对她的工作有些小帮助。

抓取页面的emal地址,只需要两个步骤,1,通过url地址抓取页面信息,2,从页面信息中提取emal地址。下面奉上代码;

public static string GetHtml(string url)
        {
            string html = "";
            try
            {
                WebClient MyWebClient = new WebClient();

                Encoding utf8 = Encoding.UTF8;

                Encoding defaultCode = Encoding.Default;

                MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。

                Byte[] pageData = MyWebClient.DownloadData(url);//从指定网站下载数据
                string pageHtml = Encoding.Default.GetString(pageData);
                string Encodeing = getEncoding(pageHtml);
                if (Encodeing != "GB2312" && Encodeing != "GBK")
                {
                    byte[] defaultBytes = Encoding.Convert(utf8, defaultCode, pageData);
                    pageHtml = Encoding.Default.GetString(defaultBytes);  //如果获取网站页面采用的是GB2312,则使用这句  
                }

                html = pageHtml;
            }
            catch (WebException webEx)
            {
                Console.WriteLine(webEx.Message.ToString());
            }
            return html;
        }
        public static string getEncoding(string html)
        {
            Match match = Regex.Match(html, "charset=(?\'ecncoding\'.*[\\d|k|K])\"");
            GroupCollection groups = match.Groups;
            string ecncoding = groups["ecncoding"].Value;
            return ecncoding.ToUpper();
        }

        protected void btnOk_Click(object sender, EventArgs e)
        {
            lstEmails.Items.Clear();
            string html = GetHtml(this.txturl.Text.Trim());
            string reg = @"[a-zA-Z0-9_\-\.]+@\w+(\.\w+)+";//匹配Email的正则表达式
            MatchCollection matchs = Regex.Matches(html, reg);foreach (Match ms in matchs)
            {
                txtEmails.Items.Add(new ListItem(ms.Value+",\r\n"));
            }
        }
GetHtml()方法用来抓取页面信息。getEncoding()获取页面编码

鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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