puppeteer获取页面html
时间: 2023-11-01 10:08:08 浏览: 45
使用 Puppeteer 获取页面 HTML 的方法如下:
```javascript
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.example.com');
const html = await page.content();
console.log(html);
await browser.close();
})();
```
首先,我们启动 Puppeteer,并创建一个新的页面。然后,使用 `page.goto()` 方法跳转到目标页面。最后,使用 `page.content()` 方法获取页面的 HTML 内容。注意,`page.content()` 方法返回的是一个 Promise 对象,需要使用 `await` 等待 Promise 对象的结果。
获取到 HTML 后,你可以将其保存到文件中,或者对其进行解析和处理。
相关问题
puppeteer 解析html生成pdf
Puppeteer 是一个由 Google Chrome 官方团队维护的 Node.js 库,它提供了一组 API 用于控制一个 headless 版本的 Chrome 进行各种操作,比如网页截图、生成 PDF 等等。利用 Puppeteer 解析 HTML 并生成 PDF 的过程大致如下:
1. 通过 Puppeteer 启动 headless Chrome 浏览器。
2. 利用 Page 对象,打开要解析的 HTML 页面。
3. 可以使用 evaluate 函数执行 JavaScript 代码来获取页面上的元素。
4. 可以使用 PDF API 将页面转换为 PDF 文件。
Puppeteer 具有丰富的功能,例如可以模拟用户交互、监测网络请求、设置浏览器参数等等,可以让你更灵活地控制 Chrome 浏览器。
如何将Puppeteer 获取到的内容保存到本地
你可以使用Node.js内置的fs模块将Puppeteer获取到的内容保存到本地文件中。
以下是一个简单的示例代码:
```javascript
const puppeteer = require('puppeteer');
const fs = require('fs');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.example.com');
const content = await page.content();
await browser.close();
fs.writeFile('example.html', content, (err) => {
if (err) throw err;
console.log('File saved!');
});
})();
```
在这个示例代码中,我们首先使用Puppeteer打开了一个网页,并获取了该网页的HTML内容。然后我们使用fs模块的writeFile方法将获取到的内容保存到了本地的example.html文件中。
你可以根据自己的需要修改文件名和保存路径。