Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
FirecrawlでAmazonから商品データ、価格、レビューを抽出する
npm install firecrawl zod
import { Firecrawl } from 'firecrawl'; import { z } from 'zod'; // Zodスキーマを定義 const ProductSchema = z.object({ title: z.string(), price: z.string(), rating: z.number(), availability: z.string(), features: z.array(z.string()) }); const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY }); const result = await firecrawl.scrape('https://www.amazon.com/dp/B0DZZWMB2L', { formats: [{ type: 'json', schema: z.toJSONSchema(ProductSchema) }], }); // Zodでパースして検証 const jsonData = typeof result.json === 'string' ? JSON.parse(result.json) : result.json; const validated = ProductSchema.parse(jsonData); console.log('✅ 検証済み商品データ:'); console.log(validated);
import { Firecrawl } from 'firecrawl'; const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY }); const searchResult = await firecrawl.search('gaming laptop site:amazon.com', { limit: 10, sources: [{ type: 'web' }], // { type: 'news' }, { type: 'images' } scrapeOptions: { formats: ['markdown'] } }); console.log(searchResult);
import { Firecrawl } from 'firecrawl'; const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY }); const result = await firecrawl.scrape('https://www.amazon.com/ASUS-ROG-Strix-Gaming-Laptop/dp/B0DZZWMB2L', { formats: ['markdown'], // 例: html、links など onlyMainContent: true }); console.log(result);
import { Firecrawl } from 'firecrawl'; const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY }); const mapResult = await firecrawl.map('https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics'); console.log(mapResult.links); // コンテンツなしでURLの配列を返す
import { Firecrawl } from 'firecrawl'; const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY }); const crawlResult = await firecrawl.crawl('https://www.amazon.com/s?k=mechanical+keyboards', { limit: 10, scrapeOptions: { formats: ['markdown'] } }); console.log(crawlResult.data);
import { Firecrawl } from 'firecrawl'; const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY }); // 完了を待つ const job = await firecrawl.batchScrape([ 'https://www.amazon.com/ASUS-ROG-Strix-Gaming-Laptop/dp/B0DZZWMB2L', 'https://www.amazon.com/Razer-Blade-Gaming-Laptop-Lightweight/dp/B0FP47DNFQ', 'https://www.amazon.com/HP-2025-Omen-Gaming-Laptop/dp/B0FL4RMGSH'], { options: { formats: ['markdown'] }, pollInterval: 2, timeout: 120 } ); console.log(job.status, job.completed, job.total); console.log(job);