Puppeteer 爬虫框架入门

有时候,我们需要从网页上获取一些数据,而手动复制粘贴就太费时间了。这时,Puppeteer 就能派上用场了。它是一个 Node.js 库,可以用来操作 Chrome 浏览器。

Puppeteer 中文释义是提线木偶,意思我们可以很方便地通过操纵它来控制浏览器。

Puppeteer 爬虫框架入门

安装 Puppeteer

首先,我们需要安装 Puppeteer。在终端中运行以下命令:

npm install puppeteer

注:建议用最新版本的 Node

使用 Puppeteer 爬取网页

让我们来看一个简单的例子。假设我们需要从 Google 上搜索一些信息。我们可以通过以下代码来实现:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('<https://www.google.com/>');
  await page.type('input[name="q"]', 'Puppeteer');
  await page.keyboard.press('Enter');
  await page.waitForNavigation();
  const searchResult = await page.$eval('#search', el => el.innerText);
  console.log(searchResult);
  await browser.close();
})();

这段代码的作用是打开 Chrome 浏览器,进入 Google 主页,搜索关键词 “Puppeteer”,等待页面加载完成后获取搜索结果并输出在控制台上,最后关闭浏览器。

1、使用 puppeteer.launch() 方法来打开浏览器,然后使用 browser.newPage() 方法创建一个新页面。

2、接着,使用 page.goto(url) 方法来访问需要爬取的网页。在这个例子中,我们访问的是 Google 主页。

3、接下来,我们使用 page.type(selector, text) 方法来在搜索框中输入关键词 “Puppeteer”,然后使用 page.keyboard.press(key) 方法来模拟按下回车键,从而触发搜索操作。

4、等待页面加载完成,通过 page.$eval(selector, callback) 方法来获取搜索结果。本例中,我们使用 CSS 选择器 #search 来定位搜索结果的元素,并使用回调函数来获取该元素的文本内容。

5、最后,使用 browser.close() 方法来关闭浏览器。

小结

使用 Puppeteer 可以非常方便地爬取网页并获取所需的数据。当然,我们还可以通过 Puppeteer 来模拟用户的行为,如点击、滚动等操作,从而更加灵活地获取所需的数据。

如果你对 Puppeteer 感兴趣,可以去 官方文档 中了解更多详细信息。


OK,以上便是本次分享,希望各位喜欢~ 欢迎点赞、收藏、评论 🤟

我是安东尼 🤠 人气技术博主 💥 坚持千日更文 ✍ 关注我,安东尼陪你一起度过漫长编程岁月 🌏

微信 ATAR53,拉你入群,不定期抽奖、只学习交友、不推文卖课~

原文链接:https://juejin.cn/post/7223551330449932344 作者:掘金安东尼

(0)
上一篇 2023年4月19日 上午10:16
下一篇 2023年4月19日 上午10:26

相关推荐

发表回复

登录后才能评论