executor = ThreadPoolExecutor(max_workers=namespace.threads)
proxies = []
print('LOADED {} PROXIES'.format(len(proxies)))
def scrape(url, *, loop, proxy):
loop.run_in_executor(executor, scraper, url, proxy)
def scraper(url, proxy):
driver = webdriver.Chrome(executable_path='chromedriver')
driver.get(url)
loop = asyncio.get_event_loop()
scrape(namespace.url, loop=loop, proxy=namespace.backconnect)
loop.run_until_complete(asyncio.gather(*asyncio.all_tasks(loop)))
Этот код изначально запускал Firefox. Вариант и с Firefox и c Chrome отлично работают на моем компьютере, VDS с Windows\Ubuntu от Google Cloud и еще одном VDS от нонейм-хостера.
В VirtualBox Windows 10 с хост-системой Mac OS Firefox работать не захотел. Приложение просто моментально без какой-либо ошибки завершало свою работу после строки print(). Попробовал заменить на Chrome - заработало.
Дальше попробовал запустить версию с Chrome на самом Mac OS - результата ноль, просто после print() программа закрывается без ошибки и статуса.
Запустил в режиме pdb, дошел до строки
loop.run_until_complete(asyncio.gather(*asyncio.all_tasks(loop)))
Дальше вывод:
(1)()->None
(Pdb) next()
The program finished and will be restarted
Попробовал в print() запихнуть эту строку, вывод:
[]
В чем может быть проблема, почему такое поведение?