Szukam sposobu, aby utworzyć funkcję w Pythonie, gdzie przekazujesz ciąg znaków i zwraca, czy jest poprawnie napisane. Nie chcę sprawdzać w słowniku. Zamiast tego chcę sprawdzić podpowiedzi Google dotyczące pisowni. W ten sposób nazwiska celebrytów i inne właściwe rzeczowniki będą liczone jako poprawnie napisane.jak zaimplementować moduł sprawdzania pisowni python za pomocą Google'a "czy miałeś na myśli?"
Oto, gdzie jestem w tej chwili. Działa przez większość czasu, ale miesza się z niektórymi nazwiskami celebrytów. Na przykład rzeczy takie jak "cee lo green" lub "posner" zostają oznaczone jako niepoprawne.
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;
Bądź ostrożny: [5.3 Użytkownik zgadza się nie uzyskiwać dostępu (ani podejmować prób uzyskania dostępu) każdy z Usług w sposób inny niż za pomocą interfejsu udostępnionego przez Google, o ile nie zostały wyraźnie dozwolone, aby to zrobić w odrębnej umowie z Google. Użytkownik wyraźnie zgadza się nie uzyskiwać dostępu do usług (ani próbować uzyskać do nich dostępu) za pomocą jakichkolwiek zautomatyzowanych środków (w tym korzystania ze skryptów lub robotów sieciowych) oraz zapewnia zgodność z instrukcjami określonymi w pliku robots.txt znajdującym się w Usługach. .] (http://www.google.com/accounts/TOS) – sarnold
Wygląda na to, że nie powtarzasz poprawnie wyniku 'wyniku'. – eumiro
https://bitbucket.org/mchaput/whoosh/wiki/Home – Surya