Apify

 

Apifyは、Webサイトのスクレイピングをクラウドで提供するサービスです。スクレイピングするだけでなく、その内容をアクターとしてリリース・共有できます。

ApifyのWebサイト

特徴

Apifyでは、以下のような機能を提供しています。

  • スクレイピングの開発
  • コードをクラウドにデプロイ
  • スクレイピングを定期実行
  • 内容をアクターとして共有

アクターとしては、GoogleマップやGoolg検索、YouTube、X(Twitter)などが作成されています。これらを使うことで、効率的にWebサイトから情報収集できるのでしょう。

なお、スクレイピング自体は即犯罪ではありませんが、利用規約で禁止している場合や、サーバーに負荷をかける場合は違法行為となります。利用する際には、利用規約をよく確認しましょう。

SDK

Apifyには、Node.js用のSDKが提供されています。これを使うことで、スクレイピングの開発を効率化できます。

import { Actor } from 'apify';
import { BasicCrawler } from 'crawlee';
import { gotScraping } from 'got-scraping';

await Actor.init();

// Create a dataset where we will store the results.
// Create a BasicCrawler - the simplest crawler that enables
// users to implement the crawling logic themselves.
const crawler = new BasicCrawler({
    // This function will be called for each URL to crawl.
    async requestHandler({ request }) {
        const { url } = request;
        console.log(`Processing ${url}...`);

        // Fetch the page HTML via Apify utils gotScraping
        const { body } = await gotScraping({ url });

        // Store the HTML and URL to the default dataset.
        await Actor.pushData({
            url: request.url,
            html: body,
        });
    },
});

// The initial list of URLs to crawl. Here we use just a few hard-coded URLs.
await crawler.run([
    { url: 'http://www.google.com/' },
    { url: 'http://www.example.com/' },
    { url: 'http://www.bing.com/' },
    { url: 'http://www.wikipedia.com/' },
]);

console.log('Crawler finished.');

await Actor.exit();

SDK for JavaScript | Apify Documentation

料金

Apifyは、無料プランと有料プランがあります。無料プランでは、月間5ドル分の利用が可能です。有料プランは、月額49ドルからとなっています。

Plans and pricing · Apify

URL

Apify: Full-stack web scraping and data extraction platform