@andrew_shipunov

Как это запустить одновременно?

Есть код
import asyncio
from pyppeteer import launch

async def main():
    browser = await launch()
    page = await browser.newPage()
    for i in range(100):
        await page.goto('https://www.avito.ru/belgorod/nastolnye_kompyutery/sistemnyy_blok_1885815175')
        print('+1')
    # await page.screenshot({'path': 'example.png'})
    await browser.close()

asyncio.get_event_loop().run_until_complete(main())

И нужно сделать так, чтобы как бы в 1000 потоков это сработало, и чтобы система не висла.
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
@vkulik79
Могу предложить вот такой вариант
import asyncio
from pyppeteer import launch

async def text():
	browser = await launch()
	page = await browser.newPage()
	await page.goto('https://www.avito.ru/belgorod/nastolnye_kompyutery/sistemnyy_blok_1885815175')
	print('+1')
    # await page.scre

async def main():
	tasks = [] # здесь будут все задачи

	for x in range(100): # запускаем 100 раз
		task = asyncio.create_task(text()) # создаем новый таск
		tasks.append(task) # и добавляем в наш общий список

	await asyncio.gather(*tasks) # распаковываем и запускаем

asyncio.run(main())
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы