Поэтому у меня возникли проблемы с ошибками при использовании библиотеки tld, когда она не знала, как обрабатывать определенные URL-адреса запросов прокси.Чтобы исправить это, было добавлено несколько исключений, которые работали для данных за определенные дни.
import tld
from tld import get_fld
#Custom try-except function to handle IPs and garbage http requests
def try_get_fld(x):
try:
return get_fld(x)
except tld.exceptions.TldBadUrl:
return np.nan
except tld.exceptions.TldDomainNotFound:
return np.nan
#Apply the function above to the request dataframe
request['flds'] = request['request'].apply(try_get_fld)
Но в другой день я столкнулся с новой ошибкой:
ValueError: Invalid IPv6 URL
ТакЯ добавил к исключениям:
def try_get_fld(x):
try:
return get_fld(x)
except tld.exceptions.TldBadUrl:
return np.nan
except tld.exceptions.TldDomainNotFound:
return np.nan
except tld.exceptions.ValueError:
return np.nan
Затем я столкнулся с ошибкой атрибута:
AttributeError: 'module' object has no attribute 'ValueError'
Поэтому я добавил это к исключениям:
def try_get_fld(x):
try:
return get_fld(x)
except tld.exceptions.TldBadUrl:
return np.nan
except tld.exceptions.TldDomainNotFound:
return np.nan
except tld.exceptions.ValueError:
return np.nan
except tld.exceptions.AttributeError:
return np.nan
ЗатемЯ получаю AttributeError: у объекта 'module' нет атрибута 'ValueError' снова.
Кто-нибудь знает, что я делаю неправильно или как исправить мою проблему?Цель состоит в том, чтобы просто пометить URL запроса с помощью NaN, чтобы я мог применить метод к своему набору данных.