猿问

如何使用 HolaVPN 解决 googletrans 的 JSON 解码错误:第 1 行第 1 列

我有一个 18k 行的越南语数据集,我正在尝试使用 googletrans 模块将其翻译为英语。


from googletrans import Translator

translator = Translator()


def  trans_text(df, text_field):

    df[text_field] = df[text_field].apply(translator.translate, src='vi', dest='en').apply(getattr, args=('text',))  

    return df

trans_text(df_train.sample(1), "question")



我最终得到以下 JSONDecode 错误:



JSONDecodeError                           Traceback (most recent call last)

<ipython-input-21-d6791d78575e> in <module>()

     24     df[text_field] = df[text_field].apply(translator.translate, src='vi', dest='en').apply(getattr, args=('text',))

     25     return df

---> 26 trans_text(df_train.sample(1), "question")

     27 

     28 


<ipython-input-21-d6791d78575e> in trans_text(df, text_field)

     22 

     23 def  trans_text(df, text_field):

---> 24     df[text_field] = df[text_field].apply(translator.translate, src='vi', dest='en').apply(getattr, args=('text',))

     25     return df

     26 trans_text(df_train.sample(1), "question")


/opt/anaconda3/envs/sam-pycaret/lib/python3.6/site-packages/pandas/core/series.py in apply(self, func, convert_dtype, args, **kwds)

   4198             else:

   4199                 values = self.astype(object)._values

-> 4200                 mapped = lib.map_infer(values, f, convert=convert_dtype)

   4201 

   4202         if len(mapped) and isinstance(mapped[0], Series):


pandas/_libs/lib.pyx in pandas._libs.lib.map_infer()


/opt/anaconda3/envs/sam-pycaret/lib/python3.6/site-packages/pandas/core/series.py in f(x)

   4183 

   4184             def f(x):

-> 4185                 return func(x, *args, **kwds)

   4186 

   4187         else:

我理解这是由于我的 IP 被禁止而引起的。我查找了规避此问题的方法,发现使用 VPN 值得一试。我已经安装了 HolaVPN。然而,作为这一切的新手,我不确定如何重现与Hola解决方案中相同的步骤。任何关于要遵循的明确程序的提示都会有很大帮助。谢谢。


慕妹3146593
浏览 134回答 1
1回答

梦里花落0921

该库发出请求,并且在不检查状态代码的情况下假定请求已成功:&nbsp; &nbsp; &nbsp;79&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;r = self.session.get(url, params=params)&nbsp; &nbsp; &nbsp;80&nbsp;---> 81&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data = utils.format_json(r.text)现在,Google 可能出于任何原因不喜欢您的请求,并返回一条带有匹配状态代码(4xx、5xx)的错误消息。该库仍然尝试将主体解析为 JSON,但这不起作用,因为没有主体并引发JSONDecodeError与原始问题无关的问题。你看不到真正的原因。结论:该googletrans库缺少关键的错误处理。您可能需要自己编辑它并添加错误处理。
随时随地看视频慕课网APP

相关分类

Python
我要回答