Я пытаюсь перевести 100 000 английских слов на корейский с помощью модуля "googletrans".Но после некоторой итерации он вызывает
'JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0)'.
Я пытался выяснить это, но решения в Интернете у меня не сработали.
Я попробовал
- Повторная инициализация Translator () для каждой итерации,
- Время ожидания (.4) для каждой итерации.
Самое странное, что это происходит случайно.Иногда он поднимается после нескольких сотен итераций, иногда после нескольких итераций.
Я проверил руководство к этому модулю, и единственное ограничение, которое я смог найти, это то, что оно ограничивает только длину слова.Однако все слова, которые я пытаюсь перевести, - это буквально слова, а не фразы или предложения.
key_list = list(senticnet.keys())
for key in key_list:
translator = Translator()
time.sleep(.4)
print(translator.translate(key, dest='ko'))
В приведенном выше коде senticnet является словарной переменной.Это выглядит как
senticnet['abusive_conduct'] = ['0', '0', '0.853', '-0.84', '#anger', '#disgust', 'negative', '-0.84', 'flagrant', 'cry', 'glaring', 'gross', 'rank']
senticnet['abusive_father'] = ['0', '0', '0.821', '-0.95', '#anger', '#disgust', 'negative', '-0.88', 'student', 'serious_student', 'addiction', 'graduate_student', 'hard_worker']
Вот сообщение об ошибке
/content/gdrive/My Drive/Colab Notebooks/py-googletrans/googletrans/client.py in translate(self, text, dest, src)
170
171 origin = text
--> 172 data = self._translate(text, dest, src)
173
174 # this code will be updated when the format is changed.
/content/gdrive/My Drive/Colab Notebooks/py-googletrans/googletrans/client.py in _translate(self, text, dest, src)
79 r = self.session.get(url, params=params)
80
---> 81 data = utils.format_json(r.text)
82 return data
83
/content/gdrive/My Drive/Colab Notebooks/py-googletrans/googletrans/utils.py in format_json(original)
60 converted = json.loads(original)
61 except ValueError:
---> 62 converted = legacy_format_json(original)
63
64 return converted
/content/gdrive/My Drive/Colab Notebooks/py-googletrans/googletrans/utils.py in legacy_format_json(original)
52 text = text[:p] + states[j][1] + text[nxt:]
53
---> 54 converted = json.loads(text)
55 return converted
56
/usr/lib/python3.6/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
352 parse_int is None and parse_float is None and
353 parse_constant is None and object_pairs_hook is None and not kw):
--> 354 return _default_decoder.decode(s)
355 if cls is None:
356 cls = JSONDecoder
/usr/lib/python3.6/json/decoder.py in decode(self, s, _w)
337
338 """
--> 339 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
340 end = _w(s, end).end()
341 if end != len(s):
/usr/lib/python3.6/json/decoder.py in raw_decode(self, s, idx)
355 obj, end = self.scan_once(s, idx)
356 except StopIteration as err:
--> 357 raise JSONDecodeError("Expecting value", s, err.value) from None
358 return obj, end
JSONDecodeError: Expecting value: line 1 column 1 (char 0)