Textblob - HTTPError: Ошибка HTTP 429: слишком много запросов - PullRequest
2 голосов
/ 17 мая 2019

У меня есть фрейм данных, в котором один столбец содержит список строк в каждой строке.

В среднем каждый список содержит 150 слов по 6 символов в каждом.

Каждый из700 строк данных - это документ, и каждая строка является словом этого документа;поэтому я в основном пометил слова документа.

Я хочу определить язык каждого из этих документов, и для этого сначала я попытаюсь определить язык каждого слова документа.

По этой причине я делаю следующее:

from textblob import TextBlob

def lang_detect(document):

    lang_count = {}
    for word in document:

        if len(word) >= 4:

            word_textblob = TextBlob(word)
            lang_result = word_textblob.detect_language()

            response = lang_count.get(lang_result)

            if response is None:  
                lang_count[f"{lang_result}"] = 1
            else:
                lang_count[f"{lang_result}"] += 1

    return lang_count

df_per_doc['languages_count'] = df_per_doc['complete_text'].apply(lambda x: lang_detect(x))

Когда я делаю это, я получаю следующую ошибку:

---------------------------------------------------------------------------
HTTPError                                 Traceback (most recent call last)
<ipython-input-42-772df3809bcb> in <module>
     25 
---> 27 df_per_doc['languages_count'] = df_per_doc['complete_text'].apply(lambda x: lang_detect(x))
     28 
     29 
.
.
.

    647 class HTTPDefaultErrorHandler(BaseHandler):
    648     def http_error_default(self, req, fp, code, msg, hdrs):
--> 649         raise HTTPError(req.full_url, code, msg, hdrs, fp)
    650 
    651 class HTTPRedirectHandler(BaseHandler):

HTTPError: HTTP Error 429: Too Many Requests

Ошибка намного длиннее, а остальные опущеныв середине.

Теперь я получаю ту же ошибку, даже если пытаюсь сделать это только для двух документов / строк.

Есть ли способ получить ответот textblob больше слов и документов?

...