Я пытаюсь преобразовать короткие URL-адреса в столбце панд в реальные URL-адреса, используя urllib
в Python 3.
Там могут быть недействительные URL, которые не могут быть открыты в браузере. В этом случае я хочу пропустить их и продолжить с остальными.
Я пытался использовать lambda
, но он выдавал такие ошибки, как bad gateway
, no name found
и т. Д. И try-except
просто ничего не выдаст, если произойдет какая-либо ошибка.
Также я попробовал for loop
, но это заняло более 1 часа.
try:
df['url2'] = df['url'].apply(lambda x: urllib.request.urlopen(x).geturl())
except:
pass
for i in range(df.shape[0]):
try:
df['url2'][i]=urllib.request.urlopen(df['url'][i]).geturl()
except:
pass
Было бы неплохо, если бы скрипты могли пропускать ошибки (если возможно, повторить попытку) и завершить обработку 10 тысяч строк URL-адресов менее чем за 1 мин.