Come estrarre dati da negozi e prodotti Etsy (Tag, Prezzi, Valutazioni)
Etsy nasconde dati puliti e strutturati in un blob JSON su ogni pagina prodotto - nome, prezzo, valutazioni, tag. Analizza quello invece di combattere con l'HTML e sfrutta quei tag per la ricerca di parole chiave per cui i tuoi concorrenti pagano.
Etsy è una miniera d'oro per la ricerca di prodotti e parole chiave - milioni di inserzioni attive, ciascuna taggata e valutata da acquirenti reali. Il problema è che l'API Open ufficiale v3 ti limita a circa 10.000 richieste al giorno e 10 al secondo, e blocca gli endpoint interessanti dietro OAuth. Per la ricerca sui concorrenti e sul mercato su larga scala, dovrai estrarre le pagine pubbliche. La buona notizia: Etsy ti offre dati puliti e strutturati se sai dove cercare. Questa guida mostra il modo affidabile per estrarre dati da negozi e prodotti Etsy - prezzo, valutazioni e tag - senza lottare con l'HTML.
Il trucco affidabile: analizza ld+json, non l'HTML
Ogni pagina prodotto Etsy incorpora un blocco <script type="application/ld+json">: dati schema.org Product con il titolo, SKU, prezzo, valuta, e un aggregateRating che riporta il valore delle stelle e il conteggio delle recensioni. Analizzare quel JSON è molto più stabile che inseguire le classi CSS che Etsy ruota. Carica la pagina tramite un proxy, estrai il blob, e avrai un record pulito in poche righe:
import json, requests
from bs4 import BeautifulSoup
proxy = "http://USER:PASS@gate.quantumproxies.io:8000"
proxies = {"http": proxy, "https": proxy}
def scrape_listing(url):
r = requests.get(url, proxies=proxies, timeout=20)
soup = BeautifulSoup(r.text, "html.parser")
blob = soup.find("script", {"type": "application/ld+json"})
data = json.loads(blob.string)
return {
"title": data.get("name"),
"price": data.get("offers", {}).get("price"),
"curr": data.get("offers", {}).get("priceCurrency"),
"rating": data.get("aggregateRating", {}).get("ratingValue"),
"reviews": data.get("aggregateRating", {}).get("reviewCount"),
}
print(scrape_listing("https://www.etsy.com/listing/1234567890/example"))

I campi che vale la pena estrarre - specialmente i tag
Oltre al prezzo e alla valutazione, il segnale di maggior valore sono i tag. Ogni inserzione Etsy può avere fino a 13 tag, e sono esattamente le frasi che i venditori credono che gli acquirenti cerchino. Raccogli i tag tra le inserzioni più vendute in una categoria e avrai decodificato una mappa delle parole chiave - gli stessi dati che gli strumenti SEO specialistici rivendono. Abbinalo al conteggio delle recensioni come proxy per la domanda, e puoi classificare una categoria in base a ciò che effettivamente vende. Aggiungi il conteggio dei preferiti dell'inserzione e la sua data di inserimento dove disponibile, e puoi distinguere i venditori provati dai nuovi arrivati che cavalcano una tendenza - la differenza tra una parola chiave che vale la pena mirare e una che sembra solo affollata. Questo è il punto in cui l'estrazione si ripaga più velocemente di qualsiasi dataset a pagamento. La nostra guida all'estrazione delle recensioni dei prodotti copre la trasformazione di quel testo di recensione in segnali di sentiment.
Estrazione delle pagine di ricerca e dei negozi
Le pagine di ricerca e dei negozi si comportano diversamente. Il loro ld+json elenca solo i primi otto articoli anche quando la pagina ne visualizza dozzine, quindi per la scoperta delle inserzioni analizza le schede HTML, non il JSON. Prendi i link delle inserzioni, deduplica gli ID numerici, quindi recupera ogni pagina prodotto per il record completo. L'URL di ricerca di Etsy accetta un parametro di pagina, quindi puoi scorrere i risultati in un ciclo:
import re
def find_listing_ids(query, pages=3):
ids = set()
for page in range(1, pages + 1):
url = f"https://www.etsy.com/search?q={query}&page={page}"
r = requests.get(url, proxies=proxies, timeout=20)
# listing links look like /listing/<id>/<slug>
for m in re.findall(r"/listing/(\d+)/", r.text):
ids.add(m)
return ids
ids = find_listing_ids("ceramic+mug", pages=3)
print(len(ids), "unique listings")
Le immagini dei prodotti si trovano sul CDN i.etsystatic.com e sono collegate direttamente nel markup se hai bisogno di miniature. Per la ricerca a livello di negozio, la pagina del negozio contiene la valutazione del venditore, il conteggio delle vendite e le politiche - utili per classificare i concorrenti per volume.
Ottieni IP residenziali progettati per l'estrazione dai marketplace
Variazioni, paginazione e mantenere bassa la larghezza di banda
Due dettagli separano un estrattore giocattolo da uno che funziona su larga scala. Primo, le variazioni: molte inserzioni Etsy vendono opzioni multiple - taglie, colori, personalizzazioni - ciascuna con il proprio prezzo. Il campo ld+json offers può essere un singolo oggetto o un array di essi, quindi gestisci entrambi, o registrerai silenziosamente solo il primo prezzo e interpreterai male un'intera categoria. Secondo, la paginazione: i risultati di ricerca sono paginati, e Etsy limita quanto in profondità puoi scorrere qualsiasi singola query. Piuttosto che cercare di arrivare alla fine di un termine ampio, dividi una categoria in query più strette (per materiale, stile o fascia di prezzo) in modo che ogni ricerca restituisca un set completo e poco profondo. Ottieni una copertura migliore e attivi meno controlli anti-bot rispetto a un estrattore che macina fino alla pagina 40 di "regali".
La larghezza di banda è il costo che si insinua nell'estrazione dai marketplace. Una pagina prodotto completa di Etsy scarica molte immagini e script di cui non hai bisogno se vuoi solo il ld+json. Quando recuperi con HTTP semplice, stai già saltando i download delle immagini - il markup è testo. Riserva il rendering JavaScript per le poche pagine che ne hanno veramente bisogno, perché una pagina renderizzata può costare molte volte i byte di un recupero grezzo. Cache aggressiva: i tag e il titolo di un'inserzione cambiano raramente di ora in ora, quindi un aggiornamento condizionale batte il riscaricamento di tutto. La nostra guida su ridurre i costi di larghezza di banda dei proxy copre le tattiche di controllo HEAD e blocco delle risorse che mantengono una fattura per GB ragionevole.
Superare il muro CAPTCHA
Etsy esegue controlli anti-bot, e un browser senza testa o un IP datacenter che colpisce le pagine di ricerca attiva rapidamente un CAPTCHA. Tre cose ti mantengono attraverso di esso. Primo, usa proxy residenziali - IP assegnati da ISP reali letti come acquirenti, non server. Secondo, abbina la geo al marketplace che stai studiando; i prezzi e le stime di spedizione cambiano per paese. Terzo, procedi con calma - intervalli costanti e simili a quelli umani battono le esplosioni. Se preferisci non gestire il rendering e i tentativi di nuovo, un Scraper API gestisce l'impronta, la rotazione e JavaScript per te e restituisce la pagina analizzata, che di solito è meno codice rispetto a mantenere una flotta senza testa. Per il modello più ampio, vedi la nostra guida su automazione dei marketplace su Amazon, eBay ed Etsy.
Una linea sull'etica: estrai dati pubblici delle inserzioni, rispetta i Termini di Etsy e le direttive dei robot, e non raccogliere i dettagli di contatto personali dei venditori - questo passa dalla ricerca di mercato a un problema di protezione dei dati. Questo è un orientamento, non un consiglio legale; verifica il tuo caso d'uso.

Domande frequenti
Come posso estrarre dati da Etsy?
Carica ogni pagina prodotto tramite un proxy residenziale e analizza il blocco ld+json incorporato, che contiene il titolo, il prezzo, la valuta e la valutazione come dati puliti schema.org. Per la scoperta, analizza le schede HTML della pagina di ricerca per raccogliere gli ID delle inserzioni, quindi recupera ogni pagina prodotto. Questo è più stabile che estrarre classi CSS rotanti.
Etsy ha un'API per l'estrazione?
L'API Open ufficiale v3 di Etsy esiste ma limita a circa 10.000 richieste al giorno e 10 al secondo, e blocca molti endpoint dietro OAuth. Per la ricerca sui concorrenti su larga scala, la maggior parte delle persone estrae le pagine pubbliche, che spesso espongono più di quanto restituisca l'API - inclusa la lista completa dei tag su ogni inserzione.
Come posso ottenere i tag di Etsy per la ricerca di parole chiave?
Ogni inserzione può avere fino a 13 tag, presenti nel markup della pagina. Estrai le inserzioni più vendute in una categoria, raccogli i loro tag e classificali per frequenza per costruire una mappa delle parole chiave. Pesare in base al conteggio delle recensioni approssima la domanda, offrendoti un quadro basato sui dati di ciò che vende e di ciò che cercano gli acquirenti.
Perché Etsy mostra un CAPTCHA quando estraggo?
Un IP datacenter o un browser senza testa aggressivo viene letto come un bot. Usa proxy residenziali in modo che le richieste sembrino provenire da acquirenti reali, abbina la geo al marketplace, e distribuisci le richieste a intervalli simili a quelli umani. Uno Scraper API che rende e ruota per te rimuove la maggior parte dei trigger CAPTCHA senza codice aggiuntivo.
Estrarre bene da Etsy riguarda principalmente la lettura del JSON che già ti offre e il raggiungimento della pagina senza un blocco. Analizza il ld+json, sfrutta i tag, distribuisci le richieste su IP residenziali puliti, e avrai un flusso continuo di prezzi, valutazioni e intenzioni di ricerca - la materia prima per una vera ricerca di prodotti.