返回
Puppeteer 爬虫框架的入门指南
前端
2024-01-31 01:38:08
什么是 Puppeteer?
Puppeteer 是一个 Node.js 库,可以用来操作 Chrome 浏览器。它允许你控制浏览器,就像你使用鼠标和键盘一样。你可以用它来抓取网页数据、自动化网页操作、测试网页等。
Puppeteer 的优势
- 简单易用: Puppeteer 的 API 非常简单易用,即使你没有编程经验,也可以快速入门。
- 自动化操作: Puppeteer 可以自动化网页操作,例如点击按钮、输入文本、滚动页面等。
- 兼容性好: Puppeteer 可以运行在多种平台上,包括 Windows、macOS 和 Linux。
- 社区活跃: Puppeteer 有一个活跃的社区,你可以在这里找到许多教程、示例代码和帮助。
Puppeteer 的基本用法
- 安装 Puppeteer
npm install puppeteer
- 创建一个 Puppeteer 实例
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch();
- 创建一个页面
const page = await browser.newPage();
- 导航到一个页面
await page.goto('https://www.google.com');
- 等待页面加载完成
await page.waitForNavigation();
- 获取页面内容
const html = await page.content();
- 关闭页面和浏览器
await page.close();
await browser.close();
Puppeteer 的示例代码
以下是一些 Puppeteer 的示例代码:
- 抓取网页数据:
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com');
await page.waitForNavigation();
const title = await page.title();
const html = await page.content();
console.log(title);
console.log(html);
await page.close();
await browser.close();
- 自动化网页操作:
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com');
await page.waitForNavigation();
await page.type('input[name="q"]', 'Puppeteer');
await page.click('button[type="submit"]');
await page.waitForNavigation();
const results = await page.$('a');
for (const result of results) {
const title = await result.text();
const href = await result.getAttribute('href');
console.log(title);
console.log(href);
}
await page.close();
await browser.close();
结语
Puppeteer 是一个非常强大的工具,可以用来做很多事情。本文只是介绍了 Puppeteer 的基本用法,如果你想了解更多,可以参考 Puppeteer 的官方文档。