web-dev-qa-db-ja.com

puppeteerを使用してページに画像をダウンロードするにはどうすればよいですか?

私はWebスクレイピングが初めてで、puppeteerを使用してWebページ上のすべての画像をダウンロードしたいと思います。

const puppeteer = require('puppeteer');

let scrape = async () => {
  // Actual Scraping goes Here...

  const browser = await puppeteer.launch({headless: false});
  const page = await browser.newPage();
  await page.goto('https://memeculture69.tumblr.com/');

  //   Right click and save images

};

scrape().then((value) => {
    console.log(value); // Success!
});

私は API‌ docs を見ましたが、これを達成する方法を理解できませんでした。だからあなたの助けに感謝します。

9
supermario

各URLに個別にアクセスすることなく、すべての画像を取得することが可能です。サーバーへのすべてのリクエストをリッスンする必要があります:

await page.setRequestInterception(true)
await page.on('request', function (request) {
   request.continue()
})
await page.on('response', async function (response) {
   // Filter those responses that are interesting
   const data = await response.buffer()
   // data contains the img information
})
0