#python #http-status-code-404 #translation #textblob
Вопрос:
Когда я пытаюсь использовать функцию перевода в библиотеке TextBlob в записной книжке jupyter, я получаю:
HTTPError: HTTP Error 404: Not Found
Я опубликовал свой код и скриншот сообщения об ошибке для справки здесь. Этот код хорошо работал 5-6 дней назад, когда я впервые запустил точно такой же код, но после этого всякий раз, когда я запускаю этот код, он выдает мне одно и то же сообщение об ошибке. Я пытался запустить этот код с последних 4-5 дней, но он больше никогда не работал.
Мой код:
from textblob import TextBlob
en_blob = TextBlob('Simplilearn is one of the world’s leading certification training providers.')
en_blob.translate(to='es')
Я новичок в stackoverflow и задаю свой первый вопрос на этой платформе, поэтому, пожалуйста, простите меня, если мой вопрос не соответствует правилам этой платформы.
Комментарии:
1. не могли бы вы, пожалуйста, добавить более подробный вывод исключений (с обратной связью)?
2. Я, наконец, нашел решение вышеуказанной проблемы после того, как немного погуглил и опубликовал ниже. Спасибо, что нашли время разобраться в моем вопросе.
Ответ №1:
Библиотека Textblob использует Google API для функций перевода в бэкэнде. Недавно Google внесла некоторые изменения в свой API. По этой причине функция перевода TextBlob перестала работать. Я заметил это, внеся некоторые незначительные изменения в translate.py файл (в вашей папке, где находятся все файлы TextBlob) как указано ниже, мы можем избавиться от этой ошибки:
исходный код:
url = "http://translate.google.com/translate_a/t?client=webappamp;dt=bdamp;dt=examp;dt=ldamp;dt=mdamp;dt=qcaamp;dt=rwamp;dt=rmamp;dt=ssamp;dt=tamp;dt=atamp;ie=UTF-8amp;oe=UTF-8amp;otf=2amp;ssel=0amp;tsel=0amp;kc=1"
измените приведенный выше код в translate.py к следующему:
url = "http://translate.google.com/translate_a/t?client=teamp;format=htmlamp;dt=bdamp;dt=examp;dt=ldamp;dt=mdamp;dt=qcaamp;dt=rwamp;dt=rmamp;dt=ssamp;dt=tamp;dt=atamp;ie=UTF-8amp;oe=UTF-8amp;otf=2amp;ssel=0amp;tsel=0amp;kc=1"
Комментарии:
1. Я только что попробовал это, но все равно получаю ошибку HTTP 404: Не найдено. Пожалуйста, посоветуйте
Ответ №2:
Я только что попробовал это. В первый раз у меня это не сработало.
Я перезапустил приглашение Anaconda, перезапустил IPython. И повторно запустил мои фрагменты, и проблема исчезла после исправления. Я использую Windows 10, я не использую виртуальную среду, два файла, которые были изменены, являются:
C:Usersbehaianaconda3pkgstextblob-0.15.3-py_0site-packagestextblobtranslate.py
C:Usersbehaianaconda3Libsite-packagestextblobtranslate.py
И я также обнаружил, что мне нужно сделать отступ табуляции для новой строки.
Добавлено 02/01/2021:
Я вообще ничего особенного не делал. Я применил предложение г-на Маниша ( зеленая галочка выше ). У меня была эта проблема 404 в среде Anaconda. После применения вышеуказанного изменения я просто перезапустил «Приглашение Anaconda (anaconda3)», и это сработало.
Это изменение, как было предложено выше, в:
C:Usersbehaianaconda3Libsite-packagestextblobtranslate.py
# url = "http://translate.google.com/translate_a/t?client=webappamp;dt=bdamp;dt=examp;dt=ldamp;dt=mdamp;dt=qcaamp;dt=rwamp;dt=rmamp;dt=ssamp;dt=tamp;dt=atamp;ie=UTF-8amp;oe=UTF-8amp;otf=2amp;ssel=0amp;tsel=0amp;kc=1"
url = "http://translate.google.com/translate_a/t?client=teamp;format=htmlamp;dt=bdamp;dt=examp;dt=ldamp;dt=mdamp;dt=qcaamp;dt=rwamp;dt=rmamp;dt=ssamp;dt=tamp;dt=atamp;ie=UTF-8amp;oe=UTF-8amp;otf=2amp;ssel=0amp;tsel=0amp;kc=1"
Файл ниже обновляется автоматически:
C:Usersbehaianaconda3pkgstextblob-0.15.3-py_0site-packagestextblobtranslate.py
Комментарии:
1. Я не уверен, что это действительно отвечает на вопрос
2. Не могли бы вы подробнее рассказать о том, что вы сделали, и опубликовать четкие решения, опробованные вами, чтобы это могло помочь и другим.
3. Привет, я обновил свой ответ выше, добавив 02/01/2021: . Спасибо вам и с наилучшими пожеланиями.