chore: sync project files
This commit is contained in:
51
fetch_cdiscount.py
Executable file
51
fetch_cdiscount.py
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Script temporaire pour récupérer HTML Cdiscount avec Playwright."""
|
||||
|
||||
from pricewatch.app.scraping.pw_fetch import fetch_playwright
|
||||
from pricewatch.app.stores.cdiscount.store import CdiscountStore
|
||||
|
||||
url = "https://www.cdiscount.com/informatique/ecrans-informatiques/ecran-pc-gamer-philips-27-fhd-180hz-dal/f-10732-phi1721524349346.html"
|
||||
|
||||
print(f"Récupération de {url}")
|
||||
print("=" * 80)
|
||||
|
||||
result = fetch_playwright(
|
||||
url,
|
||||
headless=True,
|
||||
timeout_ms=60000,
|
||||
save_screenshot=False
|
||||
)
|
||||
|
||||
if result.success and result.html:
|
||||
output_path = "scraped/cdiscount_phi1721524349346_pw.html"
|
||||
with open(output_path, "w", encoding="utf-8") as f:
|
||||
f.write(result.html)
|
||||
print(f"✓ HTML sauvegardé: {output_path} ({len(result.html)} chars)")
|
||||
|
||||
# Parser le HTML
|
||||
print("\n" + "=" * 80)
|
||||
print("PARSING")
|
||||
print("=" * 80)
|
||||
|
||||
store = CdiscountStore()
|
||||
snapshot = store.parse(result.html, url)
|
||||
|
||||
print(f"\nSource: {snapshot.source}")
|
||||
print(f"URL: {snapshot.url}")
|
||||
print(f"Reference: {snapshot.reference}")
|
||||
print(f"Title: {snapshot.title[:80] if snapshot.title else None}...")
|
||||
print(f"Price: {snapshot.price} {snapshot.currency}")
|
||||
print(f"Stock: {snapshot.stock_status}")
|
||||
print(f"Images: {len(snapshot.images)} images")
|
||||
print(f"Category: {snapshot.category}")
|
||||
print(f"Specs: {len(snapshot.specs)} specs")
|
||||
|
||||
print(f"\nDebug status: {snapshot.debug.status}")
|
||||
if snapshot.debug.errors:
|
||||
print(f"Debug errors: {len(snapshot.debug.errors)}")
|
||||
for err in snapshot.debug.errors:
|
||||
print(f" - {err}")
|
||||
|
||||
print(f"\nIs complete: {snapshot.is_complete()}")
|
||||
else:
|
||||
print(f"✗ Erreur: {result.error}")
|
||||
Reference in New Issue
Block a user