VB开发——如何快速地从网页中获得Email地址

VB开发者必备:5步掌握SeleniumBasic实现浏览器自动化 浏览器自动化是提升数据处理和业务流程效率的关键技术,其核心原理是通过WebDriver协议控制浏览器,模拟真实用户操作。这项技术对于需要与Web进行数据交互的自动化任务具有重要价值,广泛应用于数据抓取、报表生成、系统测试和日常办公自动化等场景。SeleniumBasic作为专门为Visual Basic生态设计的COM库,巧妙地将强大的Selenium WebDriver功能封装成VB可直接调用的对象,使得VB、VBA和VB.NET开发者无需切换技术栈,就能在熟悉的开发环境中轻松实现网页操作、表单填写和数据 阅读详情

如何快速地从网页中获得Email地址
欧金成   朱治国   林德杰  
(广东工业大学自动化学院)
 摘要  对于一个网上销售商,如何获得客户的Email地址,是销售自己产品必不可少的途径。本文笔者通过程序实现了Email地址自动获得的方法,从而避免了枯燥无味的手工查找。
关键词 VB   转换控件   文本控件
1       引言
在当今竞争激烈的社会环境下,一个企业如想处于不败之地,尤其是对于从事销售方面的企业,如何快速地寻找符合自己产品的客户及联系的方式是非常必要的。本文就是根据某个销售商的要求,为了避免员工枯燥无味的手工查找对方Email地址,并且又费时又费力,提出了一种自动获得Email地址的想法,达到既省时又省力的效果,笔者根据该要求设计了一个软件达到了此目的。该软件是用Visual Basic编写的。
2  程序实现
在程序编写之前,员工必须知道符合自己产品的客户的具体网址,这一点有许多种方法可以做到,其中比较有名的是利用Google搜索引擎(http://www.google.com),这里假设要获得Email的网址是“http://www.durham-duplex.co.uk/contact.html”。具体程序编写如下:
1)打开VB建立一个新工程(工程1)及一个新窗体(Form1),同时添加“Microsoft Internet Transfer Control 6.0”(Inet1)[利用该控件的OpenURL方法获取HTML源码]和“Microsoft Rich Textbox Control 6.0(SP4)”(RichTextBox1,RichTextBox2)[介绍该控件的文章很多,笔者使用RichTextBox1存放HTML源码,RichTextBox2存放获取的EMail结果。]两个VB自带部件。
2)窗体Form1上手工加入控件RichTextBox1,RichTextBox2,Inet1,Command1(CommandButton控件),Command2。
3)写EMAIL的截取方法,程序代码如下:
Private Sub EMail_Rich(Rich1 As RichTextBox, Rich2 As RichTextBox)
'以下是定义变量,整型变量因为考虑到Email长度会超出Integer型的65535界限,所以使用Long型
     Dim EmailStr As String  '存放取得的Email地址
     Dim Str_Temp1 As String  '存放取得的“@”前面的某个字符
     Dim Str_Temp2 As String  '存放取得的“@”后面的某个字符
     Dim Where_Str  As Long  '存放“@”所在的位置
     Dim Where_Str1 As Long  '存放“@”前截取字符所在位置
     Dim Where_Str2 As Long  '存放“@”后截取字符所在位置
     Dim Start_Number As Long   '存放该EMAIL的长度
     Dim Start_Number1 As Long  '存放该EMAIL的“@”前的字符数
     Dim Start_Number2 As Long  '存放该EMAIL的“@”后的字符数
     Dim Start_No As Long  '存放开始查找“@”的起始位置
     Dim Logic_1 As Boolean  '存放判断“@”前面字符的条件准则
     Dim Logic_2 As Boolean  '存放判断“@”后面字符的条件准则
         
     '给变量赋初值
     EmailStr = ""
     Str_Temp1 = ""
     Str_Temp2 = ""
     Where_Str = 0
     Where_Str1 = 0
     Where_Str2 = 0
     Start_Number = 0
     Start_Number1 = 0
     Start_Number2 = 0
     Start_No = 1  '一开始当然从第一位开始搜索
     Logic_1 = False
     Logic_2 = False
         
     '控件初始化
     Rich2.Text = ""  '先清空控件Rich2中的Text值
         
     '程序开始
     Do While 1 = 1  '给一个永远真值的循环,该循环控制整个HTML页
       Where_Str = Rich1.Find("@", Start_No)  '开始查找第一个“@”位置
           
       If Where_Str <= 0 Then  '该值小于等于0代表没有找到
          Exit Do  '满足了以上条件,说明所有查找结束,退出循环
       End If
           
       Where_Str1 = Where_Str  '把“@”的位置赋给Where_Str1
       Where_Str2 = Where_Str  '把“@”的位置赋给Where_Str2

       Do While 1 = 1 '给一个永远真值的循环,该循环控制一个EMAIL中“@”前面内容
         Where_Str1 = Where_Str1 - 1  '逐个对“@”前内容进行比较,该变量控制位置
         Rich1.SelStart = Where_Str1  '设置控件Rich1中选择字符串的起始位置
         Rich1.SelLength = 1  '设置Rich1中选择字符串的长度,因为是单个比较,所以赋“1”
         Str_Temp1 = Rich1.SelText  '取得该字符
         '根据ASCII码表设置EMAIL字符串的规则,从而取得EMAIL地址,因为太长,所以分断写
         Logic_1 = (Asc(Str_Temp1) > 44 And Asc(Str_Temp1) < 47)
         Logic_1 = Logic_1 Or (Asc(Str_Temp1) > 47 And Asc(Str_Temp1) < 57)
         Logic_1 = Logic_1 Or (Asc(Str_Temp1) > 63 And Asc(Str_Temp1) < 91)
         Logic_1 = Logic_1 Or (Asc(Str_Temp1) > 96 And Asc(Str_Temp1) < 123)
         If Logic_1 = False Then '如果该字符不规则,说明已经不是Email地址的内容
           Exit Do  '满足了以上条件,退出循环
         End If
         Start_Number1 = Start_Number1 + 1 '说明符合规则,需要继续查看下一个字符
       Loop
           
       Do While 1 = 1  '该循环与前一个判断“@”前的字符意思相同,不再加入注释
         Where_Str2 = Where_Str2 + 1
         Rich1.SelStart = Where_Str2
         Rich1.SelLength = 1
         Str_Temp2 = Rich1.SelText
         Logic_2 = (Asc(Str_Temp2) > 44 And Asc(Str_Temp2) < 47)
         Logic_2 = Logic_2 Or (Asc(Str_Temp2) > 47 And Asc(Str_Temp2) < 57)
         Logic_2 = Logic_2 Or (Asc(Str_Temp2) > 63 And Asc(Str_Temp2) < 91)
         Logic_2 = Logic_2 Or (Asc(Str_Temp2) > 96 And Asc(Str_Temp2) < 123)
         If Logic_2 = False Then
           Exit Do
         End If
         Start_Number2 = Start_Number2 + 1
       Loop
       'EMAIL的总长度就是“@”前、后符合规则的字符的长度加上“@”的长度
       Start_Number = Start_Number1 + Start_Number2 + 1
           
       Rich1.SelStart = Where_Str1 + 1  '该EMAIL起始位置,正好是“@”前面字符最终位置
       Rich1.SelLength = Start_Number  '该EMAIL的总长度
       EmailStr = Rich1.SelText
       Rich2.Text = Rich2.Text & Chr(10) & EmailStr  '获得该EMAIL
       Start_No = Where_Str + Start_Number2  '继续定义下一重循环要查找“@”的起始位置
           
       '重新初始化一些中间变量
       EmailStr = ""
       Str_Temp1 = ""
       Str_Temp2 = ""
       Start_Number = 0
       Start_Number1 = 0
       Start_Number2 = 0
    Loop
End Sub
4)再添加如下程序代码来控制程序执行:
Private Sub Command1_Click()
   EMail_Rich RichTextBox1, RichTextBox2  '使用3中的方法
 End Sub
        
 Private Sub Command2_Click()
    End  '终止程序
 End Sub
        
Private Sub Form_Load()
 '初始化控件
  Command1.Caption = "截取"
  Command2.Caption = "退出"
  '获取网页中的HTML代码,并放到RichTextBox1中
RichTextBox1.Text = Inet1.OpenURL("http://www.durham-duplex.co.uk/contact.html";)
End Sub
3  结束语
以上程序已在VB6.0企业版中通过。通过上面的例子,笔者希望有“抛砖引玉”的功效,让读者在工作中遇到类似问题时得到一些启发。

RPA人才所要具备的4大技能 RPA人才所要具备的4大技能 眼下RPA市场需求旺盛,项目火热,但RPA实施人才却较为匮乏。从对接需求到交付项目,一个合格的RPA人员究竟需要具备哪些技能? 技能一:全栈 根据RPA开发的特殊性,自动化流程的效益特点强调短平快,所以在实施的时候基本都是单兵作战,那么RPA人员所具备的知识就必须要全面。 1、前端方面:HTML、CSS、JS 是为了对网页端进行操纵使用时,能利用RPA软件灵活的处理网页信息。 2、后端方面:VB.NET或者C#、Python主要是为了能源码开发。虽然RPA软件功能很全面,但并 阅读详情

相关推荐

RPA选型实测:6款工具在电商财务客服场景的真实表现

RPA(机器人流程自动化)是一种通过软件机器人模拟人工操作、自动执行重复性业务任务的技术,其核心原理是UI级交互捕获与结构化逻辑编排。技术价值在于显著降低人为操作错误率、释放人力投入高价值分析工作,并支撑AI能力落地——如OCR识别发票、语义理解客服消息等。典型应用场景覆盖电商订单异常处理、财务凭证生成、跨系统工单分派等强规则、多系统、脏数据频发的业务环节。本文基于真实业务流(非Demo),聚焦RPA与AI+RPA两大关键能力,在影刀、Ui.Vision、金智维等6款主流工具上完成端到端实测,揭示各平台在网

weixin_34367257的博客 297

vb html编程,VB.Net Web编程

动态Web应用程序由以下两种类型的程序中的一种或两种组成:服务器端脚本 – 这些是使用服务器端脚本语言(如ASP(Active Server Pages)或(Java Server Pages))编写的Web服务器上执行的程序。客户端脚本 – 这些是在浏览器上执行的程序,使用JavaScript,VBScript等脚本语言编写。ASP.Net是Microsoft推出的.Net版本的ASP,通过使用...

weixin_29205061的博客 1169

从零构建企业级钓鱼演练平台:Gophish部署与实战指南

钓鱼攻击作为典型的社会工程学手段,已成为企业网络安全体系中最薄弱的环节之一。其原理在于利用人性弱点,通过伪装成合法来源的邮件或网站,诱导员工泄露敏感信息。为应对这一威胁,主动式安全意识培训的价值日益凸显,它能将安全防线从被动防御转向主动免疫。在技术实现层面,开源框架Gophish凭借其模块化架构和API驱动特性,成为构建企业级钓鱼演练平台的首选。通过模拟真实攻击场景,企业可系统性评估员工安全意识水平,并基于捕获的点击率、提交率等数据,定位高风险部门,实现精准的培训干预。本文将结合Gophish部署、模板设计

csdn864883的博客 400

Visual Basic 6.0编写简单网页浏览器

打开Visual Basic 6.0开发工具,新建一个标准EXE工程。 右击工具箱,选择部件,在列表中选择Microsoft Internet Controls并单击确定。 在Form1窗体上添加一个TextBox控件、一个WebBrowser控件、三个CommandButton 控件。 控件布局如下图: 菜单内容: 再新建一个窗体,命名为AboutForm。(此窗体为关于窗口) 在窗体上新建一个Button控件、两个label控件。 控件布局如下: Form1代码如下:

Ethan0331的博客 1万+

教你用vb制作网页浏览器

教你如何使用VB做一个网页浏览器。咱们制作的这个Flash动画播放器要能够一次打开多个Flash动画文件,可以在播放过程中选择播放打开的文件、随时改变播放质量、画面大小等状态,而且在播放过程中可以随时对播放的当前帧数进行调整或者手动进行逐帧播放,在状态栏里有当前播放状态的相关说明等等。下面先来添加程序所需要的控件。

VB6开发的网页浏览器

这是VB开发出来的浏览器,值得一看!能从中学习到很多东西

E-mail地址搜集方法

有这么一群人,他们将网络上分散的网站搜集整理,建立了一个搜索导航引擎。他们中的很多人都成了富翁,甚至亿万级的富翁。  有这么一群人,他们将网络上流传的E-mail地址搜集整理,建立了一个E-mail数据库。他们成了网民们的公敌,深恶痛绝的那种公敌。  同样是搜集Internet上的资源,同样是为网民服务,那些搜索E-mail地址的人却背上了骂名,仅仅因为他们是垃圾邮件发送者的帮凶。不可否认

5014

VB 编写的一个非常漂亮网页浏览器(支持多标签)

VB编写的一个非常漂亮网页浏览器(支持多标签),和IE浏览器功能一样

我的软件选择-杀毒软件、开发工具

总共进行了七年的软件开发,而由于我的性格,所以对于所有的软件都喜欢尝试,所以陆续作个总结杀毒软件:总计试用过多个国外软件,国内的我没有真正试验,出名的大约有三个:瑞星、KV、金山。KV自然是因为当年的硬盘锁事件,我也没有兴趣;金山,则是因为当初金山试用版本的时候,同事装上后经常出现蓝屏,所以我也没有再试验;瑞星,则是因为当年看到一篇报道,创始人当初花了几个月时间就从原来的DOS

转向http://www.shengfang.org 944

VB开发的网页浏览器

使用VB内部控件开发的简单网页浏览器,供VB初学者进行练习,共同探讨

自动驾驶IDM与MOBIL模型

IDM模型,自动驾驶

不想学好数学的汽车工程师不是一个好的程序员 1万+

在使用JS框架之前自己写的一些工具代码

来自于:http://vb2005xu.javaeye.com/blog/235863 //vb2005xu@sina.com版权所有 (*^__^*) 嘻嘻……    //function -- Debug  function debug(msg)  {      if (msg == undefined)      {          msg = 'Not Parameter' ;     ...

weixin_34162629的博客 123

GD32F470实战:如何用EXMC+SDRAM为LVGL打造超大内存池(附完整配置代码)

本文详细介绍了如何利用GD32F470的EXMC接口与SDRAM深度整合,为LVGL构建高性能内存解决方案。通过硬件架构设计、EXMC接口配置、高级内存管理策略及LVGL性能优化技巧,开发者可以突破微控制器内存限制,实现高分辨率显示和复杂动画效果。附完整配置代码,助力嵌入式GUI开发。

rrr55的博客 547

ASP+ACCESS多功能论坛程序设计

随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营效等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。在这个平台上,论坛提供了一个全新的人类沟通新方式。 本文主要分析了论坛的主要组成情况,包括论坛的设计目标,框架结构,数据流程和论坛的主要特点等,重点介绍了论坛前台功能模块的详细思路和实现方法,以及对后台数据库关键技术和部分源代码的详细说明。

大叔_爱编程 的博客 1058

青藏高原冻土数据实战:如何用QGIS分析1961-2020年冻土退化趋势(附完整操作步骤)

本文详细介绍了如何使用QGIS分析1961-2020年青藏高原冻土退化趋势,包括数据准备、预处理、时空分析和模型验证等全流程操作。通过TTOP模型和Stefan方程,揭示了冻土退化的空间差异和海拔依赖性,为环境研究提供科学依据。

weixin_29276847的博客 127

电动汽车欧标直流充电标准解析

电动汽车和电动汽车充电市场是动态发展的,欧洲也正在努力部署基础设施,以支持欧洲快速增长和多样化的电动汽车充电需求。

网络安全的研究者、新能源行业的追求者 7616

【课程设计】Springboot疫苗接种管理系统毕业设计-附源码191451

疫苗接种管理系统主要功能模块包括用户管理、个人接种、团体接种、接种医院、实时排队人数、疫苗接种提示等,采取本系统此次设计前端视图界面选择微信开发者工具来完成,系统功能设计由Java面向对象编程语言实现,系统开发工具选用IDEA,后台数据库为MySQL,项目管理工具选用Maven,总体的设计框架为最近很方便的springboot框架,实现了本系统的全部功能。 关键词:预防接种;Springboot框架;MySQL数据库...

Biye_Design的博客 7080

【LLM】ms-Swift框架下SFT与GRPO协同优化的高效训练策略

本文深入探讨了ms-Swift框架下监督微调(SFT)与群组相对策略优化(GRPO)的协同训练策略,提升大型语言模型(LLM)的性能与效率。通过创新的架构设计和两阶段训练流程,结合GRPO的群组奖励估计与动态基线调整技术,显著优化了数学推理等任务的准确率。文章还分享了计算资源高效利用和参数调优的实战经验,为LLM训练提供了实用指导。

green的博客 994

我的收藏精品[把它共享出来,相信对大家有点用,毕竟是长时间收藏的](2)

--.Net男孩社区-- AspxBoy.Com --保护你的代码——谁动了我的组件? .NET中加密和解密的实现方法 812406 - PRB Response.WriteFile Cannot Download a Large File Advanced ASP.NET asp.net实现pop功能—编程爱好者网站 ASP.NET窗体对话框的实现 ASPX交Dl

祝紫山(大可山人)博客[GDI+,WPF, .Net图形图像] 4794

通过 CoovaChilli 和 FreeRADIUS 搭建一个公共 Wi-Fi 的认证系统,实现用户连接到 Wi-Fi 后通过 Captive Portal(强制登录页面)进行认证

要实现固定设备连接的功能,你可以通过MAC 地址认证来限制哪些设备可以通过 FreeRADIUS 进行身份验证和连接。你可以在 FreeRADIUS 的users文件中直接配置允许的设备的 MAC 地址,也可以通过数据库存储和查询设备信息,进一步提高管理效率。通过这些方法,你可以灵活地控制哪些设备能够访问你的 Wi-Fi 网络。

m0_69943017的博客 2646

Qt Installer Framework 简单使用

qt installer framework 简单使用

qq_42815643的博客 2575

【大厂自动化测试框架教程】100个框架案例教程以及源码,学完就能进大厂

软件测试。

测试逍遥子的博客 328

人工智能训练师三级补贴3120元申领全攻略|条件+流程+五省市对比

补贴是真的,但不是"白给"的。你需要满足社保、户籍、时间等条件,严格按照流程操作。记住四件事先确认自己是否满足条件,再报名——别考完了才发现领不到紧缺工种补贴更高——确认你所在城市是否在紧缺目录中证书下发后12个月内申请——设个日历提醒材料准备齐全再提交——避免来回折腾如果你正在考虑考人工智能训练师三级证书,想要从报名到备考到拿证到申领补贴的完整一站式指南,欢迎查看我的付费专栏:📖《人工智能训练师三级·从零到拿证完全指南》80篇系统化内容,覆盖报名、备考、冲刺、拿证全流程。

白话机器学习 1522

网址收藏

 --.Net男孩社区-- AspxBoy.Com --保护你的代码——谁动了我的组件? .NET中加密和解密的实现方法 812406 - PRB Response.WriteFile Cannot Download a Large File Advanced ASP.NET asp.net实现pop功能—编程爱好者网站 ASP.NET窗体对话框的实现 ASPX交Dll直接处理 C# -

My life 1077

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【课程设计】ssm基于JavaEE的电脑销售管理系统设计与实现毕业设计源码021143

用户:注册登录、首页、论坛、公告消息、电脑资讯、电脑推荐、我的账户、我的收藏、我的购物车、我的订单、个人中心 管理员:轮播图、公告栏、用户管理、论坛列表、论坛分类列表、电脑资讯分类、电脑商城、分类列表、订单列表、电脑推荐...

专业程序开发源的博客 2746

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: RSS资源
下一篇: 关于RSS
autofei
博客等级 码龄26年 425粉丝 303原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值