Crawlee 爬虫框架介绍和使用

Crawlee 是一个基于 JavaScript 的轻量级爬虫框架,它允许你以简洁的方式编写爬虫脚本来抓取网页数据。以下是一个使用 Crawlee 框架的简单代码示例,它展示了如何定义一个爬虫任务并提取网页中的数据。
使用 Crawlee 在线服务的示例(假设有 API 访问权限)
如果你使用的是 Crawlee 的在线服务,并且有一个 API 密钥来访问它,你可能需要通过 API 调用或他们的仪表板来设置和管理爬虫任务。然而,对于代码示例,我们将假设有一个编程接口允许你定义和运行爬虫。
示例代码
// 假设你有一个 Crawlee 客户端库或 API 访问方式
const Crawlee = require('crawlee-client'); // 这是一个假设的库,实际使用时可能需要替换
// 初始化 Crawlee 客户端
const client = new Crawlee.Client({
apiKey: 'YOUR_API_KEY', // 替换为你的 API 密钥
serverUrl: 'https://app.crawlee.cloud/api' // 替换为 Crawlee 服务的 URL
});
// 定义一个简单的爬虫任务
const task = {
name: 'example-task',
script:
const { Actor } = require('@crawlee/core');
class MyActor extends Actor {
async handlePage(request) {
const { browser, page } = this.page;
await page.goto(request.url);
const title = await page.title();
this.emit('data', { url: request.url, title: title });
}
}
module.exports = MyActor;
,
startUrls: ['https://example.com'] // 要抓取的初始 URL 列表
};
// 创建并运行爬虫任务
client.createTask(task)
.then(taskData => {
console.log('Task created:', taskData);
// 这里可以添加逻辑来监控任务状态或获取结果
})
.catch(error => {
console.error('Error creating task:', error);
});
Publish on 2024-12-24,Update on 2025-02-10