«TypeError: невозможно сериализовать объект _io.TextIOWrapper» при попытке распараллелить задачи Selenium - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь написать фрагмент кода, который очищает веб-сайт от определенной части информации и записывает в файл, учитывая условие для этой части информации. Из-за количества веб-страниц, которые я хочу обработать, я решил сделать попытку распараллеливания с использованием многопроцессорной обработки. Из того, что я могу сказать, я правильно строю итератор, но при вызове starmap возникает ошибка. Любая помощь будет принята с благодарностью.

if __name__ == "__main__":
    desired_countries = ["United States of America", "Canada", "United Kingdom"]

    with open("output.csv", "a") as out:
        out.write("Serial,Product,Country,Warranty\n")

    driver = make_driver()
    with Pool(cpu_count()-1) as p:
        p.starmap(get_product, zip(open("cereal.txt", "r").readlines(), repeat(driver)))
    p.close()
    p.join() 

Для справки, функция get_product фактически ничего не возвращает, просто записывает в файл. Остальной код (все, что выше основного l oop) можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...