![]() log( "CHILD: url received from parent process", url) Ĭonst browser = await puppeteer. The code snippet below is a simple example of running parallel downloads with Puppeteer.Ĭonst downloadPath = path. □ If you are not familiar with how child process work in Node I highly encourage you to give this article a read. We can combine the child process module with our Puppeteer script and download files in parallel. Child process is how Node.js handles parallel programming. We can fork multiple child_proces in Node. ![]() ![]() Our CPU cores can run multiple processes at the same time. Step 1: Install the package Install the package in your node project mkdir -p download-csv-puppeteer & npm init -y npm install puppeteer touch index. ![]() So you can pretty much do anything that you can do in the browser via code. □ Learn more about the single threaded architecture of node here Download file / upload file Find an image by class selector, downloads the image, saves it to disk and read it again. Puppeteer provides the way to control and interact with your chrome/chromium browser via Node.js. So each time you install / update puppeteer, it will download its specific chrome version. Therefore if we have to download 10 files each 1 gigabyte in size and each requiring about 3 mins to download then with a single process we will have to wait for 10 x 3 = 30 minutes for the task to finish. Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. Puppeteer includes its own chrome / chromium, that is guaranteed to work headless. It can only execute one process at a time. You see Node.js in its core is a single-threaded system. However, if you have to download multiple large files things start to get complicated. In this next part, we will dive deep into some of the advanced concepts.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |