Как увеличить скорость обработки dnspython

Как увеличить скорость обработки парсера МХ-записей? у меня есть 1.млн строк и он очень долго их обрабатывает примерно сутки... Что можно с этим сделать?

import dns.resolver
from time import time
import time
from service import domains



def init_to_domain() -> None:
    dns.resolver.default_resolver = dns.resolver.Resolver(configure=False)
    dns.resolver.default_resolver.nameservers = ['8.8.8.8']
    print(len(domains), "addresses loaded...starting mx lookup.\n\n")


def check_dns_to_mx():
    mxRecords = []
    emailAddresses = []
    for domain in domains:
        try:
            answers = dns.resolver.resolve(domain.split("@", 1)[1], 'MX')
        except:
            print("some error")
            mxRecord = "some error"
        else:
            mxRecord = answers[0].exchange.to_text()
            print(mxRecord)
        finally:
            mxRecords.append(mxRecord)
            emailAddresses.append(domain)
            print(domain)
            time.sleep(.200)
    return mxRecords and emailAddresses

я разбил код на куски, декомпозировал, в конце у меня была запись в файл csv данные

filename = 'result.csv'
mxRecords = []
emailAddresses = []
df = pd.DataFrame({"EmailAddress": emailAddresses,
                   "MXRecords": mxRecords})

print("\n", str(len(emailAddresses)), "records processed")
df.to_csv(filename, index=False)

Ответы (0 шт):