抓取必应在线词典的英语音标
最近要做一个音标词典,却苦于找不到好的音标词库,而必应词典的音标比较好,所以写了这个自动抓取必应词典的英语词汇音标程序。
基本原理:
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
抓取必应在线词典的英语音标相关推荐
- 利用selenium与etree抓取必应图片
利用selenium与etree抓取必应图片 文章目录 利用selenium与etree抓取必应图片 一.导入库 二.selenium模拟网页滚动 三.etree解析selenium保存的网页内容 四 ...
- [Python] 抓取必应每日一图,设置为桌面壁纸
在Windows 10 64位系统环境下,使用 Python 3.6 进行图片抓取和设置壁纸操作. 其中,图片链接 https://area.sinaapp.com/bingImg/ 为 Bing 每 ...
- pyspider抓取伯乐在线python相关所有文章
有点软用的pyspider中文文档(这个翻译的和谷歌翻译差不多,如果没有谷歌翻译插件的可以考虑) 英文官方文档(谷歌翻译后完全能看懂,不像python官方的,第三方库的都比较友好) 伯乐在线pytho ...
- python:抓取必应高清壁纸第一张并设置为壁纸 修改注册表 重启壁纸不丢失
# -*- coding: utf-8 -*- import requests from lxml import etree #import re from re import split #bing ...
- python实现抓取必应图片设置桌面
源码参考https://github.com/vbirds/pyWallpaper,代码风格不错 本人只是将其适配到python3.5,并消除一些bug,源代码中桌面地址未使用绝对路径导致win10 ...
- python3 抓取必应bing首页图片作为桌面背景
网上找到的在python3下都不能用,于是动手修改了一下,测试可用. Python 版本:3.5.1 系统:win10 x64 需要安装的包: pip install pypiwin32 代码: im ...
- JAVA写的网页爬虫爬取必应词典的词汇音标
为了建立一个英语词汇音标库,需要从网上搜索词汇音标,由于有10万多个词汇需要处理,所以做个这个单词音标爬虫爬取必应网络词典网页上的单词音标. package bingword;import java. ...
- 我是如何白嫖 Github 服务器自动抓取每日必应壁纸的?
如何使用 Github 服务器自动抓取必应搜索的每日壁纸呢? 如果你访问过必应搜索网站,那么你一定会被搜索页面的壁纸吸引,必应搜索的壁纸每日不同,自动更换,十分精美.这篇文章会介绍如何一步步分析出必应 ...
- 如何使用 Github Actions 自动抓取每日必应壁纸?
Hello world : ) 微信搜「 程序猿阿朗 」.点赞再看,动力无限. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. 如何 ...
- 在线音乐播放器-----酷狗音乐api接口抓取
首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我 ...
最新文章
- javascript es6 == === is 区别
- Java 缺省适配器模式
- NYOJ 123 士兵杀敌(四)
- PHP面试题:简述Linux下安装PHP的过程?
- nodejs读取本地txt文件并输出到浏览器
- Redmi Note 11系列来势汹汹,一“机”打尽更多看不见的旗舰猛料
- POJ3274 Gold Balanced Lineup【Hash函数】
- 前端程序员也需要知道进程和线程
- Gson反序列化详解
- C语言函数一章教学,c语言案例教程:函数教学讲义.ppt
- SocketTool.exe 端口占用
- ITIL框架结构剖析
- andriod studio 自带模拟器设置开发者模式
- C/C++编程笔记:浪漫流星雨装b表白程序
- python投票问题,程序列出在python中获得多数投票的候选人
- 组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多变量时间序列预测对比
- 用python制作田字格_2分钟学会在Word中制作田字格 米字格 书法练字再也不用买本子了...
- mysql data dll_mysql.data.dll官方下载
- abb和plcsocket通讯_ABB-PLC之间通讯
- 机器人+目标检测 天将降大任于斯人也 哈哈