Python 如何使用google';s";你是说;

Python 如何使用google';s";你是说;,python,api,Python,Api,我正在寻找一种在python中生成函数的方法,在这个函数中,传入一个字符串,它将返回拼写是否正确。我不想查字典。相反,我希望它检查谷歌的拼写建议。这样,名人名和其他各种专有名词就可以算作拼写正确 这就是我目前所处的位置。它在大多数情况下都有效,但它会把一些名人的名字弄糟。例如,“cee lo green”或“posner”之类的内容会被标记为不正确 import httplib import xml.dom.minidom data = """ <spellrequest textalr

我正在寻找一种在python中生成函数的方法,在这个函数中,传入一个字符串,它将返回拼写是否正确。我不想查字典。相反,我希望它检查谷歌的拼写建议。这样,名人名和其他各种专有名词就可以算作拼写正确

这就是我目前所处的位置。它在大多数情况下都有效,但它会把一些名人的名字弄糟。例如,“cee lo green”或“posner”之类的内容会被标记为不正确

import httplib
import xml.dom.minidom

data = """
<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">
<text> %s </text>
</spellrequest>
"""

def spellCheck(word_to_spell):

    con = httplib.HTTPSConnection("www.google.com")
    con.request("POST", "/tbproxy/spell?lang=en", data % word_to_spell)
    response = con.getresponse()

    dom = xml.dom.minidom.parseString(response.read())
    dom_data = dom.getElementsByTagName('spellresult')[0]

    if dom_data.childNodes:
        for child_node in dom_data.childNodes:
            result = child_node.firstChild.data.split()
        for word in result:
            if word_to_spell.upper() == word.upper():
                return True;
        return False;
    else:
        return True;
导入httplib
导入xml.dom.minidom
data=”“”
%
"""
def拼写检查(单词到拼写):
con=httplib.HTTPSConnection(“www.google.com”)
con.request(“POST”,“/tbproxy/spell?lang=en”,数据%word\u to\u拼写)
response=con.getresponse()
dom=xml.dom.minidom.parseString(response.read())
dom_data=dom.getElementsByTagName('spellresult')[0]
如果dom_data.childNodes:
对于dom_data.childNodes中的子节点:
结果=child_node.firstChild.data.split()
对于结果中的单词:
如果单词拼写为.upper()==word.upper():
返回True;
返回False;
其他:
返回True;

彼得·诺维格告诉你如何实施

与其拘泥于谷歌先生,不如试试其他大人物

  • 如果你真的想坚持使用计算页面请求的搜索引擎,并提供一些优秀的功能。Yahoo直接使用YQL表提供拼写检查服务(免费:5000个请求/天,非商业)

  • 您有很多Python API,它们能够实现很多类似的功能,包括您提到的名词(有时可能会出现逆转——毕竟这是基于概率的)

  • 因此,在第二种情况下,您得到了一个很好的列表(完全免费)

  • (甚至还有python绑定)
  • (它的功能远不止拼写检查,但我认为它有一些优势。)
  • 我希望他们能让你对事情的运作有一个清晰的认识


    实际上,拼写检查涉及机器学习、人工智能、NLP等领域的非常复杂的机制。。等等。所以,像谷歌/雅虎这样的公司并不是真的提供完全免费的API。

    小心:你似乎没有正确地迭代
    结果。
    。但这不只是检查文本文件中的字典吗?是的。它不会到谷歌去检查单词是否正确,它只是在你指定的文本文件中查找。你不理解它……统计数据对你来说没有任何意义吗?不,它不是去谷歌的。我的意思是你的方式是非常不正确的;这将是一个更好的方式。什么是“没有人会给他们免费和开源”的意思?你在回答中列出了几个免费和开源的例子。@MichaelHoffman我实际上指的是更复杂的API,比如Yahoo拼写检查或Google预测API。。