«HTTPError: Ошибка HTTP 404: Не найден» при использовании функции перевода в TextBlob

#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: . Спасибо вам и с наилучшими пожеланиями.