Crawlee 爬虫框架介绍和使用

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