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ドルからとなっています。