Как извлечь ссылку на видео или фото?
Каким образом можно вынуть ссылку на файл с помощью Node.js (желательно Puppetter или Cheerio, но не обязательно)?
Файл виден во вкладке "Network" консоли, он просто загружается, но в самом DOM никак не фигурирует.
Ответы (1 шт):
Автор решения: nörbörnën
→ Ссылка
Тут пример как словить картинки в обработчике запросов page.on('request') и в обработчике ответов page.on('response')
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: true,
ignoreHTTPSErrors: true
});
const page = await browser.newPage();
await page.setRequestInterception(true);
page.on('request', (request) => {
if (request.url().includes('cs.pikabu.ru')) {
console.log(`request url: ${request.url()}`);
}
request.continue();
});
page.on('response', (response) => {
if (response.headers()['content-type']?.startsWith('image')) {
console.log(`response images url: ${response.url()}`);
}
});
await page.goto('https://pikabu.ru', {
timeout: 0,
waitUntil: ['networkidle0', 'load']
});
await page.close();
await browser.close();
})();
Результат работы:
request url: https://cs.pikabu.ru/images/subs-empty.svg
request url: https://cs.pikabu.ru/apps/ub/4.33.0/desktop/sprite.svg
response images url: https://cs.pikabu.ru/page/interview/pechenka-dev.png
response images url: https://cs.pikabu.ru/images/logos/telegram-blue.png
request url: https://cs.pikabu.ru/apps/ub/4.33.0/desktop/sprite_96dpi.png
request url: https://cs.pikabu.ru/apps/ub/4.0.0/desktop/style/roboto-regular.woff2
request url: https://cs.pikabu.ru/apps/ub/4.0.0/desktop/style/roboto-500.woff2
request url: https://cs.pikabu.ru/apps/ub/4.0.0/desktop/style/roboto-italic.woff2
response images url: https://cs.pikabu.ru/images/logos/telegram-dark-red.png
response images url: https://cs.pikabu.ru/images/logos/viber.png
response images url: https://cs.pikabu.ru/images/jobseeker/vacancy1.png
response images url: https://cs.pikabu.ru/images/subs-empty.svg
response images url: https://cs.pikabu.ru/apps/ub/4.33.0/desktop/sprite.svg
response images url: https://cs14.pikabu.ru/post_img/2021/05/07/9/1620400076179239264.png
response images url: https://cs14.pikabu.ru/images/community/2642/1613293324284311041.png
response images url: https://cs14.pikabu.ru/images/community/1713/1620245096288090229.png