urllib.urlopen и русскией URL'ы
это было для параметров, а для доменов нужно использовать punycode
'домен.рф'.encode('idna')
Пример для 'https://bdt.spb.ru/афиша':
bdt = 'https://bdt.spb.ru/'+ quote('афиша')
urllib.request.urlopen(bdt)