查看: 909|回复: 45
打印 上一主题 下一主题

[工具] 强大的英文单词意思、例句、音标一键在线捕足工具

[复制链接]
  • TA的每日心情
    开心
    2018-8-14 18:21
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    30

    主题

    652

    回帖

    4万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    46216

    灌水大神章笑傲江湖章

    跳转到指定楼层
    1
    发表于 2016-11-18 19:44:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 Babybear1 于 2016-12-3 07:25 编辑

    不知道论坛里有没有发过,这是我在学习过程中为了方便制作卡片而从大神那里要来的。只要输入自己想要任何单词,软件会自动生成意思、例句音标等以后用来做卡片效率杠杠的,比从词典一条条复制省心得多,当然有完美主义及强迫症人士除外。现在把它分享给大家。

    老规矩有图有真像

          


    TIPS记得开启宏,还有一次生成不了,多点几次即可。如果意外退出也不必紧张,它会自动保存。

    Anki Excel制卡工具2.0(批量查询在线词典) (1).zip (57.72 KB, 下载次数: 189)

    刚才发现一个可以将EXCEL 转换成MDX的软件地址在:https://pdawiki.com/forum/thread-9600-1-1.html,用两个是绝配的工具, 这样可以方便做一本自定义词典了。

    本帖被以下淘专辑推荐:

  • TA的每日心情
    开心
    2018-8-14 18:21
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    30

    主题

    652

    回帖

    4万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    46216

    灌水大神章笑傲江湖章

    推荐
     楼主| 发表于 2016-11-21 23:25:48 | 只看该作者
    cjj2005 发表于 2016-11-21 22:53
    这个绝对是Excel高手,抓取的是哪家的数据?

    Option Explicit



    Function e2c(w As String, f As Integer) As String
    On Error Resume Next
    Dim html As New HTMLDocument, url
    Dim i As Integer
    Dim x As Variant
    Dim sample() As String
        With CreateObject("MSXML2.XMLHTTP")

            url = "http://dict.cn/" & w
            'Debug.Print url
            .Open "GET", url, True
            .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
            .setRequestHeader "Referer", ""
            .Send

            While .readyState <> 4
                  DoEvents
            Wend

            html.body.innerHTML = .responseText

            Select Case f
            Case 1
                e2c = Replace(html.getElementsByClassName("basic clearfix")(0).innerText, vbCrLf, "<br>")
            Case 2
                html.body.innerHTML = html.getElementsByClassName("phonetic")(0).innerHTML
                e2c = Trim(html.getElementsByTagName("span")(0).innerText) & "<br>" & Trim(html.getElementsByTagName("span")(1).innerText)
            Case 3
                html.body.innerHTML = html.getElementsByClassName("layout sort")(0).innerHTML
                i = 1
                For Each x In html.getElementsByTagName("li")
                    sample = Split(x.innerText, vbCrLf, 2)
                    e2c = e2c & "(" & i & ")" & sample(0) & "<br>"
                    i = i + 1
                Next
            Case 4
                html.body.innerHTML = html.getElementsByClassName("layout sort")(0).innerHTML
                i = 1
                For Each x In html.getElementsByTagName("li")
                    sample = Split(x.innerText, vbCrLf, 2)
                    e2c = e2c & "(" & i & ")" & sample(1) & "<br>"
                    i = i + 1
                Next
            Case Else
                e2c = Replace(html.getElementsByClassName("basic clearfix")(0).innerText, vbCrLf, "<br>")
            End Select
        End With
    End Function

    Function vocab(w, p As Integer)
    On Error Resume Next
    Dim html As New HTMLDocument, url, pron, exp
       
        url = "https://www.vocabulary.com/dictionary/definition.ajax?search=" & w
        'Debug.Print url
       
        With CreateObject("MSXML2.XMLHTTP")
            .Open "get", url, True
            .Send
            While .readyState <> 4
                DoEvents
            Wend
            html.body.innerHTML = .responseText
        End With
            
        Select Case p
            Case 1
                  exp = html.getElementsByClassName("short")(0).innerText
            Case 2
                  exp = html.getElementsByClassName("long")(0).innerText
            Case Else
                  exp = html.getElementsByClassName("short")(0).innerText
        End Select
       
        vocab = exp
    End Function

    Function arr_e2c(w As String) As Variant
    On Error Resume Next
    Dim html As New HTMLDocument
    Dim url As String
    Dim i As Integer
    Dim s As String
    Dim x As Variant
    Dim result(4) As String
    Dim sample() As String

        With CreateObject("MSXML2.XMLHTTP")

            url = "http://dict.cn/" & w
            .Open "GET", url, True
            .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
            .setRequestHeader "Referer", ""
            .Send

            While .readyState <> 4
                  DoEvents
            Wend

            html.body.innerHTML = .responseText
            
            s = html.getElementsByClassName("ifufind")(0).innerText
            If s <> "" Then
                arr_e2c = ""
                Exit Function
            End If
            

            html.body.innerHTML = html.getElementsByClassName("phonetic")(0).innerHTML
            result(0) = Trim(html.getElementsByTagName("span")(0).innerText) & "<br>" & Trim(html.getElementsByTagName("span")(1).innerText)
            
            html.body.innerHTML = .responseText
            result(1) = Replace(html.getElementsByClassName("basic clearfix")(0).innerText, vbCrLf, "<br>")
            
            html.body.innerHTML = .responseText
            html.body.innerHTML = html.getElementsByClassName("layout sort")(0).innerHTML
            i = 1
            For Each x In html.getElementsByTagName("li")
                sample = Split(x.innerText, vbCrLf, 2)
                result(2) = result(2) & "(" & i & ")" & sample(0) & "<br>"
                result(3) = result(3) & "(" & i & ")" & sample(1) & "<br>"
                i = i + 1
            Next
       
       
        End With
       
        html = Nothing
        arr_e2c = result
       
    End Function

    Function arr_vocab(w As String) As Variant
    On Error Resume Next
    Dim html As New HTMLDocument, url, pron, exp
    Dim result(2) As String

        url = "https://www.vocabulary.com/dictionary/definition.ajax?search=" & w
        'Debug.Print url
       
        With CreateObject("MSXML2.XMLHTTP")
            .Open "get", url, True
            .Send
            While .readyState <> 4
                DoEvents
            Wend
            html.body.innerHTML = .responseText
        End With
            

        result(0) = html.getElementsByClassName("short")(0).innerText
        result(1) = html.getElementsByClassName("long")(0).innerText
       
        arr_vocab = result
    End Function


    好多家,呵呵





  • TA的每日心情
    奋斗
    2018-11-10 00:38
  • 签到天数: 346 天

    [LV.8]以坛为家I

    0

    主题

    975

    回帖

    3090

    积分

    禁止发言

    积分
    3090

    灌水大神章

    推荐
    发表于 2017-4-14 22:23:19 | 只看该作者
    ncq001 发表于 2016-12-20 14:25
    海词的这个词源质量有异义的,所以只能参考,该作者网上还有个Server类工具,不知有没有人用自建MDX Server ...

    我自己用vba写了一个背单词的小工具,其中的纠错功能就是利用查询本地的mdx字典来实现的,目前能用的解析mdx的代码,要么是golden的源码,要么是某个神人写的个js网页脚本,再有一个就是某大侠用python写的一个mdx转换工具,不过这几种语言直接挂到vba里多少有点别别扭扭的。考虑到mdx的文件结构已经不是秘密了,有精力有心情的话写个解析器也未尝不可,不过能直接模块化上面我提到的3个代码最省事儿。不知道您说的这个大侠的网址是啥,可否拿来看看传说中的server工具类?
  • TA的每日心情
    奋斗
    2018-11-10 00:38
  • 签到天数: 346 天

    [LV.8]以坛为家I

    0

    主题

    975

    回帖

    3090

    积分

    禁止发言

    积分
    3090

    灌水大神章

    推荐
    发表于 2017-4-15 00:58:14 | 只看该作者
    lymnet 发表于 2017-4-14 22:31
    mdx server 在这里
    https://ninja33.github.io/20161113/mdx-server/

    看了看这个server,就是我提到的python的解析器加上个网络响应。不过如果做成个本地的响应服务器的话,可以稍微改动改动本帖子介绍过的excel扑捉工具,加上个解析本地响应服务器的网址,等于绕了一大圈,不如直接在vba里解析mdx文件。我自己写的个背单词的纠错功能就是想挂上这个pathyon的解析模块。那个js的跟网页耦合的太紧了,代码摘不出来。这个pathyon的模块化程度能好点。就是vba里调用pathyon也是个折腾活儿。
  • TA的每日心情
    开心
    2018-8-14 18:21
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    30

    主题

    652

    回帖

    4万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    46216

    灌水大神章笑傲江湖章

    3
     楼主| 发表于 2016-11-18 20:31:25 | 只看该作者

    哪里有问题,具体一点,好解决,呵呵

    该用户从未签到

    2

    主题

    41

    回帖

    970

    积分

    举人

    Rank: 4

    积分
    970
    4
    发表于 2016-11-18 22:29:11 | 只看该作者
    Babybear1 发表于 2016-11-18 20:31
    哪里有问题,具体一点,好解决,呵呵

    不知道怎么下手,也不知道具体是干什么的

    该用户从未签到

    2

    主题

    41

    回帖

    970

    积分

    举人

    Rank: 4

    积分
    970
    5
    发表于 2016-11-18 22:29:48 | 只看该作者
    Babybear1 发表于 2016-11-18 20:31
    哪里有问题,具体一点,好解决,呵呵

    啊啊。。怪我太笨。。。
  • TA的每日心情
    开心
    2018-8-14 18:21
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    30

    主题

    652

    回帖

    4万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    46216

    灌水大神章笑傲江湖章

    6
     楼主| 发表于 2016-11-18 22:34:25 | 只看该作者
    spond2255 发表于 2016-11-18 22:29
    不知道怎么下手,也不知道具体是干什么的

    用途就是如果你想背单词,单词是你自己平时摘抄下来的,那你可以把单词输进去,这个软件可以帮你把意思,音标,及例句自动列出来。这样方便你做成电子卡片,天天随手翻翻。如果单纯死背一个单词意思不大,因为不知道用法,有了例句就知道怎么用了。

    该用户从未签到

    2

    主题

    41

    回帖

    970

    积分

    举人

    Rank: 4

    积分
    970
    7
    发表于 2016-11-18 22:37:53 | 只看该作者
    Babybear1 发表于 2016-11-18 22:34
    用途就是如果你想背单词,单词是你自己平时摘抄下来的,那你可以把单词输进去,这个软件可以帮你把意思, ...

    谢谢讲解

    该用户从未签到

    2

    主题

    41

    回帖

    970

    积分

    举人

    Rank: 4

    积分
    970
    8
    发表于 2016-11-18 22:38:17 | 只看该作者
    Babybear1 发表于 2016-11-18 22:34
    用途就是如果你想背单词,单词是你自己平时摘抄下来的,那你可以把单词输进去,这个软件可以帮你把意思, ...

    我懂了

    该用户从未签到

    62

    主题

    392

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10872

    灌水大神章小蜜蜂章笑傲江湖章

    10
    发表于 2016-11-19 12:26:18 | 只看该作者
    太棒了。這就是我
    需要的。
  • TA的每日心情
    无聊
    2019-12-16 23:45
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    3

    主题

    75

    回帖

    218

    积分

    童生

    Rank: 2

    积分
    218
    11
    发表于 2016-11-19 14:20:31 | 只看该作者
    好像很牛逼的样子,下载试试吧。谢谢!

    该用户从未签到

    58

    主题

    933

    回帖

    3897

    积分

    被盗用户

    积分
    3897

    灌水大神章小蜜蜂章笑傲江湖章

    12
    发表于 2016-11-19 16:15:05 | 只看该作者
    Excel用到这样的程度,堪称是高手
  • TA的每日心情
    开心
    2018-8-14 18:21
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    30

    主题

    652

    回帖

    4万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    46216

    灌水大神章笑傲江湖章

    13
     楼主| 发表于 2016-11-19 16:16:38 | 只看该作者
    lxchen2001 发表于 2016-11-19 16:15
    Excel用到这样的程度,堪称是高手

    我不是你所说的高手,另有其人,我只是搬运工
  • TA的每日心情
    无聊
    2018-5-13 15:25
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    174

    回帖

    3648

    积分

    禁止发言

    积分
    3648

    笑傲江湖章灌水大神章

    15
    发表于 2016-11-21 22:53:24 | 只看该作者
    这个绝对是Excel高手,抓取的是哪家的数据?
  • TA的每日心情
    无聊
    2018-5-13 15:25
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    174

    回帖

    3648

    积分

    禁止发言

    积分
    3648

    笑傲江湖章灌水大神章

    17
    发表于 2016-11-22 21:33:53 | 只看该作者
    看了和比对了一下,抓取的是dict.cn数据。很厉害
  • TA的每日心情
    开心
    2018-8-14 18:21
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    30

    主题

    652

    回帖

    4万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    46216

    灌水大神章笑傲江湖章

    18
     楼主| 发表于 2016-11-22 21:36:04 | 只看该作者
    cjj2005 发表于 2016-11-22 21:33
    看了和比对了一下,抓取的是dict.cn数据。很厉害

    方便好用就行,呵呵
  • TA的每日心情
    开心
    2021-3-28 21:28
  • 签到天数: 102 天

    [LV.6]常住居民II

    1

    主题

    181

    回帖

    3956

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3956
    19
    发表于 2016-11-23 22:15:41 | 只看该作者
    因为不知道用法,有了例句就知道怎么用
  • TA的每日心情
    慵懒
    2020-9-15 14:07
  • 签到天数: 546 天

    [LV.9]以坛为家II

    0

    主题

    1013

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10354

    灌水大神章

    20
    发表于 2016-12-6 03:12:28 | 只看该作者
    感谢楼主分享!
  • TA的每日心情

    2019-6-11 01:30
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    2

    主题

    183

    回帖

    495

    积分

    秀才

    Rank: 3Rank: 3

    积分
    495
    21
    发表于 2016-12-8 10:36:17 | 只看该作者
    哇,太谢谢了
  • TA的每日心情
    开心
    昨天 19:36
  • 签到天数: 624 天

    [LV.9]以坛为家II

    539

    主题

    1981

    回帖

    5万

    积分

    超级版主

    Rank: 12Rank: 12Rank: 12

    积分
    53357

    翰林院专用章推广专家灌水大神章笑傲江湖章小蜜蜂章管理组专用章QQ 章

    22
    发表于 2016-12-10 06:03:20 | 只看该作者
    感谢楼主的分享,学习一下

    该用户从未签到

    4

    主题

    398

    回帖

    3360

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3360

    灌水大神章

    25
    发表于 2016-12-12 20:50:42 | 只看该作者
    very useful for learner