Если relative import прям ни в какую не хочет работать, то остаётся два способа:
1). Изменить название импортируемого файла, с исполнительного, на обычный.
2). Использовать "подобие" импорта. Т.е. считать код из файла, далее запустить как исполняемый в объекте (чтоб уменьшить некоторую конфликтность), и далее из объекта достать нужный атрибут.
file_to_import, module_to_import = 'parser.py', 'Web_parser'
Web_parser = getattr(type('', (object,), [x() for x in [lambda: (exec([(code.read(), code.close()) for code in [open(file_to_import, 'r')]][0][0]), locals())[-1]]][0]), module_to_import)
Хоть конечно, потом. Кому-то чтоб понять, что для чего вообще эта часть кода придётся ещё посидеть. Да и это такие действия имеют некоторые минусы. Так что лучше первый варянт.