Самый быстрый способ пропустить сбои, связанные с загруженным контентом, заключается в использовании try/except
следующим образом:
def get_article_info(url):
a = Article(url)
try:
a.download()
a.parse()
a.nlp()
success, checked_kws = checkif_kw_exist(req_keywords, a.text.split())
if success:
return [url, a.publish_date, a.title, a.text]
else: return False
except:
return False
Использование except
для отлова всех возможных Исключение, и игнорировать его, не рекомендуется, и этот ответ был бы отвергнут, если бы я не предложил вам немного лучше разобраться с исключениями. Вы также спросили о решении проблемы. Не читая документацию по библиотекам, которые вы импортируете, вы не будете знать, какие исключения могут возникнуть, поэтому распечатка деталей исключений во время их пропуска даст вам детали, такие как ArticleException
, который вы получаете сейчас. И вы можете начать добавлять отдельные except
разделы, чтобы иметь дело с ними для тех, с которыми вы уже сталкивались:
def get_article_info(url):
a = Article(url)
try:
a.download()
a.parse()
a.nlp()
success, checked_kws = checkif_kw_exist(req_keywords, a.text.split())
if success:
return [url, a.publish_date, a.title, a.text]
else:
return False
except ArticleException as ae:
print (ae)
return False
except Exception as e:
print(e)
return False
ArticleException
, который вы получаете, говорит вам, что вы получаете ошибку timeout
Это означает, что ответ от Daily Star не завершен в течение определенного времени. Может быть, он очень занят :) Вы можете попробовать скачать несколько раз, прежде чем сдаться.