Playwright Amazon Scraper: Produkte & Reviews (Javascript)
Olivia Novak
Dev Intern · Leapcell

Web Automation und Datensammlung mit Playwright (Node.js Version)
Playwright ist eine Bibliothek zum Testen und Automatisieren von Webseiten, die Browser wie Chromium, Firefox und WebKit unterstützt. Es wurde von Microsoft entwickelt und ist effizient, zuverlässig und schnell, wodurch browserübergreifende Webautomatisierungsaufgaben ermöglicht werden.
Sammeln von Amazon Produktinformationen mit Playwright
Wir können Playwright verwenden, um Benutzerverhalten zu simulieren, z. B. den Besuch von Amazon (www.amazon.com) und das Crawlen von Produktinformationen und Bewertungen. Mithilfe von CSS-Selektoren oder XPath können wir Webseitenelemente präzise lokalisieren und deren Text oder Attribute extrahieren.
Beispiel: Crawlen der Amazon Bestseller-Liste
Wir werden Playwright verwenden, um die internationale Bestsellerliste auf Amazon zu sammeln. Die Schritte sind wie folgt:
- Besuchen Sie die Zielseite, zum Beispiel: https://www.amazon.com/b/?ie=UTF8&node=16857165011&ref_=sv_b_3
- Wählen Sie alle Buchelemente aus (mit den Klassennamen
a-section
unda-spacing-base
) - Iterieren Sie durch die Buchelemente und extrahieren Sie Informationen wie Titel, Preise, Bewertungen und die Anzahl der Rezensionen
Bereitstellung eines Playwright-Beispiels auf Leapcell
Playwright Deployment Beispiel auf Leapcell
Dieser Leitfaden bietet einen optimierten Ansatz zur Bereitstellung von Playwright-Tests auf Leapcell. Folgen Sie dem obigen Link für ein Schritt-für-Schritt-Tutorial.
Node.js Implementierungscode
Das Folgende ist die Implementierung der Datensammlung mit Node.js und Playwright:
const { chromium } = require('playwright'); (async () => { // Launch the browser const browser = await chromium.launch({ headless: true }); const context = await browser.newContext(); const page = await context.newPage(); // Visit the Amazon search page await page.goto('https://www.amazon.com/'); // Search for the keyword "laptop" await page.fill('#twotabsearchtextbox', 'laptop'); await page.click('#nav-search-submit-button'); // Wait for the page to finish loading await page.waitForLoadState('networkidle'); // Get the list of product links const links = await page.evaluate(() => { return Array.from(document.querySelectorAll('.s-result-item h2 a')) .map(a => a.href); }); // Collect product details data const results = []; for (const link of links) { const productPage = await context.newPage(); await productPage.goto(link, { waitUntil: 'networkidle' }); const title = await productPage.textContent('#productTitle'); const rating = await productPage.textContent('#averageCustomerReviews .a-icon-alt').catch(() => 'N/A'); const reviewCount = await productPage.textContent('#acrCustomerReviewText').catch(() => 'N/A'); results.push({ title: title.trim(), rating, reviewCount }); await productPage.close(); } // Output the collected data console.log(results); // Close the browser await browser.close(); })();
Codeanalyse
- Initialisieren von Playwright: Verwenden Sie
chromium.launch({ headless: true })
, um den Browser zu starten. - Navigieren zur Amazon-Suchseite: Verwenden Sie
page.goto()
, um die Website zu besuchen, das Suchfeld auszufüllen und die Suche zu senden. - Extrahieren von Produktlinks: Verwenden Sie
document.querySelectorAll()
, um die URLs aller Produkte abzurufen. - Sammeln von Produktdetails:
- Öffnen Sie die Seite jedes Produkts.
- Rufen Sie den Produkttitel (
#productTitle
) ab. - Rufen Sie die Bewertung (
#averageCustomerReviews .a-icon-alt
) ab. - Rufen Sie die Anzahl der Bewertungen (
#acrCustomerReviewText
) ab.
- Ausgeben von Daten und Schließen des Browsers
Codeoptimierung
- Fehlerbehandlung: Einige Produkte haben möglicherweise keine Bewertungen oder Überprüfungszahlen. Verwenden Sie
.catch(() => 'N/A')
, um zu verhindern, dass der Code abstürzt. - Automatisierungseffizienz: Verwenden Sie
await context.newPage()
, um den Kontext wiederzuverwenden und die Seitenladegeschwindigkeit zu verbessern. - Vermeidung von Blockierungen:
- Sie können den Proxy-Zugriff verwenden (z. B. die
proxy
-Option von Playwright). - Sie können den
userAgent
so anpassen, dass er eher einem echten Benutzer entspricht.
- Sie können den Proxy-Zugriff verwenden (z. B. die
Mit Playwright und Node.js können wir die Datensammlung auf Amazon-Webseiten effizient automatisieren, was für Szenarien wie die E-Commerce-Datenanalyse und die Wettbewerbsforschung geeignet ist.
Leapcell: Die Serverless-Plattform der nächsten Generation für Webhosting, asynchrone Aufgaben und Redis
Abschließend möchte ich die beste Plattform für die Bereitstellung von Playwright empfehlen: Leapcell
1. Multi - Language Support
- Entwickeln Sie mit JavaScript, Python, Go oder Rust.
2. Stellen Sie unbegrenzt Projekte kostenlos bereit
- zahlen Sie nur für die Nutzung - keine Anfragen, keine Gebühren.
3. Unschlagbare Kosteneffizienz
- Pay - as - you - go ohne Leerlaufgebühren.
- Beispiel: 25 US-Dollar unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
4. Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für umsetzbare Erkenntnisse.
5. Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein Betriebsaufwand - konzentrieren Sie sich einfach auf das Bauen.
Erfahren Sie mehr in der Dokumentation!
Leapcell Twitter: https://x.com/LeapcellHQ