gpt4 book ai didi

javascript - 如何使用 Puppeteer 获取页数?

转载 作者:行者123 更新时间:2023-12-01 01:30:48 24 4
gpt4 key购买 nike

我是一个使用 Puppeteer 的爬行初学者。我成功抓取了以下网站。下面是从商城中提取特定产品名称的代码。

const express = require('express');
const puppeteer = require('puppeteer');
const app = express();

(async () => {

const width = 1600, height = 1040;

const option = { headless: true, slowMo: true, args: [`--window-size=${width},${height}`] };

const browser = await puppeteer.launch(option);
const page = await browser.newPage();
const vp = {width: width, height: height};
await page.setViewport(vp);

const navigationPromise = page.waitForNavigation();

// 네이버 스토어팜
await page.goto('https://shopping.naver.com/home/p/index.nhn');
await navigationPromise;
await page.waitFor(2000);

const textBoxId = 'co_srh_input';
await page.type('.' + textBoxId, '양말', {delay: 100});
await page.keyboard.press('Enter');

await page.waitFor(5000);
await page.waitForSelector('ul.goods_list');
await page.addScriptTag({url: 'https://code.jquery.com/jquery-3.2.1.min.js'});

const result = await page.evaluate(() => {

const data = [];

$('ul.goods_list > li._itemSection').each(function () {

const title = $.trim($(this).find('div.info > a.tit').text());
const price = $(this).find('div.info > .price .num').text();
const image = $(this).find('div.img_area img').attr('src');

data.push({ title, price, image })

});

return data;

});

console.log(result);
await browser.close();

})();

app.listen(3000, () => console.log("Express!!!"));

我有一个问题。如果我想从页数中获取信息,我该怎么办?例如(1 页、2 页、3 页 ....)

最佳答案

将属性 footerTemplatedisplayHeaderFooter 一起用于最初使用 puppeteer API 的展示页面

await page.pdf({
path: 'hacks.pdf',
format: 'A4',
displayHeaderFooter: true,
footerTemplate: '<div><div class='pageNumber'></div> <div>/</div><div class='totalPages'></div></div>'
});

https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#pagepdfoptions

//footerTemplate 打印页脚的 HTML 模板。

//应该是有效的 HTML 标记,具有以下 CSS 类,用于将打印值注入(inject)其中:

//- 日期格式化的打印日期

//- 标题文档标题

//- url文档位置

//- pageNumber 当前页码

//- totalPages 文档中的总页数

关于javascript - 如何使用 Puppeteer 获取页数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53294512/

24 4 0