最近要做一个音标词典,却苦于找不到好的音标词库,而必应词典的音标比较好,所以写了这个自动抓取必应词典的英语词汇音标程序。


基本原理:

1. WEBBROWSER元素内容的抓取

2.正则表达式精确提取目标内容

编程语言:

VB6

准备工作:

1. 引用WEBBROWSER控件

2. 引用正则表达式功能

3. 引用EXCEL功能

4. 在程序同一目录中创建一个dictionary.xls的EXCEL文件,表中第一列存储好英语单词,自动搜索后的结果会保存到第二列

界面FORM:

1. 浏览器webbrowser1

2. 按钮command1,command2

3. 文本框text1,text2,text3

全部代码:

Dim xlApp As ObjectDim xlBook As ObjectDim xlSheet As ObjectDim pointer As LongDim word As StringDim actionFlag As BooleanDim startNumber, endNumber As LongFunction getPhoneticString() As String
'从WEBBROWSER中获取音标Dim i As ObjectDim strHtml, resultStr As StringFor Each i In WebBrowser1.Document.AllstrHtml = i.innerHTMLIf bTest(strHtml, "英\[[^\]]*\]") = True ThenresultStr = getMatch(strHtml, "英\[[^\]]*\]")Exit ForEnd IfIf bTest(strHtml, "美\[[^\]]*\]") = True ThenresultStr = getMatch(strHtml, "美\[[^\]]*\]")Exit ForEnd IfNextgetPhoneticString = resultStr
End FunctionFunction mainLoop() As IntegerxlSheet.Cells(pointer, 2).Value = getPhoneticString()xlBook.SaveText1.Text = getPhoneticString()If pointer < endNumber Thenpointer = pointer + 1ElseBeepMsgBox "搜索完毕!"Unload MeEndEnd Ifword = xlSheet.Cells(pointer, 1).ValuesearchWord (word)mainLoop = 0
End FunctionFunction bTest(ByVal s As String, ByVal p As String) As BooleanDim re As RegExpSet re = New RegExpre.IgnoreCase = Falsere.Pattern = pbTest = re.Test(s)
End FunctionFunction getMatch(ByVal s As String, ByVal p As String) As StringDim reg As RegExpDim mhs As MatchCollectionDim mh As MatchSet reg = New RegExpreg.IgnoreCase = Truereg.MultiLine = Truereg.Global = Truereg.Pattern = pDim strstr = sIf reg.Test(str) ThenSet mhs = reg.Execute(str)Set mh = mhs(0)getMatch = mhEnd IfEnd FunctionFunction searchWord(ByVal w As String)Dim searchString As StringsearchString = "http://cn.bing.com/dict/search?q=" & wWebBrowser1.Navigate searchString
End Function
Private Sub Form_Load()
'启动程序准备工作WebBrowser1.Navigate "about:blank"Set xlApp = NothingSet xlBook = NothingSet xlSheet = NothingSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.Open(App.Path & "/dictionary.xls")Set xlSheet = xlBook.Worksheets(1)actionFlag = FalsestartNumber = Val(Text2.Text)endNumber = Val(Text3.Text)pointer = 1pointer = startNumber
End SubPrivate Sub Command1_Click()
'开始搜索startNumber = Val(Text2.Text)endNumber = Val(Text3.Text)pointer = startNumberactionFlag = Trueword = xlSheet.Cells(pointer, 1).ValuesearchWord (word)
End SubPrivate Sub Command2_Click()
'停止搜索Unload MeEndactionFlag = False
End SubPrivate Sub WebBrowser1_DownloadComplete()
'每次网页加载完毕执行主搜索程序If actionFlag = True ThenDim a As Integera = mainLoop()End If
End SubPrivate Sub Form_Unload(Cancel As Integer)
'退出程序要保存并关闭EXCELxlBook.SavexlBook.ClosexlApp.QuitSet xlApp = NothingSet xlBook = NothingSet xlSheet = Nothing
End Sub

抓取必应在线词典的英语音标相关推荐

  1. 利用selenium与etree抓取必应图片

    利用selenium与etree抓取必应图片 文章目录 利用selenium与etree抓取必应图片 一.导入库 二.selenium模拟网页滚动 三.etree解析selenium保存的网页内容 四 ...

  2. [Python] 抓取必应每日一图,设置为桌面壁纸

    在Windows 10 64位系统环境下,使用 Python 3.6 进行图片抓取和设置壁纸操作. 其中,图片链接 https://area.sinaapp.com/bingImg/ 为 Bing 每 ...

  3. pyspider抓取伯乐在线python相关所有文章

    有点软用的pyspider中文文档(这个翻译的和谷歌翻译差不多,如果没有谷歌翻译插件的可以考虑) 英文官方文档(谷歌翻译后完全能看懂,不像python官方的,第三方库的都比较友好) 伯乐在线pytho ...

  4. python:抓取必应高清壁纸第一张并设置为壁纸 修改注册表 重启壁纸不丢失

    # -*- coding: utf-8 -*- import requests from lxml import etree #import re from re import split #bing ...

  5. python实现抓取必应图片设置桌面

    源码参考https://github.com/vbirds/pyWallpaper,代码风格不错 本人只是将其适配到python3.5,并消除一些bug,源代码中桌面地址未使用绝对路径导致win10 ...

  6. python3 抓取必应bing首页图片作为桌面背景

    网上找到的在python3下都不能用,于是动手修改了一下,测试可用. Python 版本:3.5.1 系统:win10 x64 需要安装的包: pip install pypiwin32 代码: im ...

  7. JAVA写的网页爬虫爬取必应词典的词汇音标

    为了建立一个英语词汇音标库,需要从网上搜索词汇音标,由于有10万多个词汇需要处理,所以做个这个单词音标爬虫爬取必应网络词典网页上的单词音标. package bingword;import java. ...

  8. 我是如何白嫖 Github 服务器自动抓取每日必应壁纸的?

    如何使用 Github 服务器自动抓取必应搜索的每日壁纸呢? 如果你访问过必应搜索网站,那么你一定会被搜索页面的壁纸吸引,必应搜索的壁纸每日不同,自动更换,十分精美.这篇文章会介绍如何一步步分析出必应 ...

  9. 如何使用 Github Actions 自动抓取每日必应壁纸?

    Hello world : ) 微信搜「 程序猿阿朗 」.点赞再看,动力无限. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. 如何 ...

  10. 在线音乐播放器-----酷狗音乐api接口抓取

    首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我 ...

最新文章

  1. javascript es6 == === is 区别
  2. Java 缺省适配器模式
  3. NYOJ 123 士兵杀敌(四)
  4. PHP面试题:简述Linux下安装PHP的过程?
  5. nodejs读取本地txt文件并输出到浏览器
  6. Redmi Note 11系列来势汹汹,一“机”打尽更多看不见的旗舰猛料
  7. POJ3274 Gold Balanced Lineup【Hash函数】
  8. 前端程序员也需要知道进程和线程
  9. Gson反序列化详解
  10. C语言函数一章教学,c语言案例教程:函数教学讲义.ppt
  11. SocketTool.exe 端口占用
  12. ITIL框架结构剖析
  13. andriod studio 自带模拟器设置开发者模式
  14. C/C++编程笔记:浪漫流星雨装b表白程序
  15. python投票问题,程序列出在python中获得多数投票的候选人
  16. 组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多变量时间序列预测对比
  17. 用python制作田字格_2分钟学会在Word中制作田字格 米字格 书法练字再也不用买本子了...
  18. mysql data dll_mysql.data.dll官方下载
  19. abb和plcsocket通讯_ABB-PLC之间通讯
  20. 机器人+目标检测 天将降大任于斯人也 哈哈

热门文章

  1. java入门代码大全,2022最新
  2. 编写36选7的彩票程序
  3. 华为CE交换机下载文件FTP步骤
  4. Go语言编程从入门到精通,数据类型
  5. 计算机基础(1)——Verilog语法入门
  6. linux进程管理实验视频,Linux进程管理实验
  7. python深度学习图像处理CSV文件分类标签图片到各个文件夹
  8. Python-基础学习笔记
  9. 计算机打不开菜鸟打印组件,云打印控件常见问题及解决办法(一)
  10. Java Base64与图片互转操作测试