volete aiutarci? Ecco le opzioni disponibili:","Crunchbase","Chi siamo","Grazie a tutti per l'incredibile supporto!","Collegamenti rapidi","Programma di affiliazione","Premio","ProxyScrape prova premium","Controllore di proxy online","Tipi di proxy","Paesi proxy","Casi d'uso del proxy","Importante","Informativa sui cookie","Esclusione di responsabilità","Informativa sulla privacy","Termini e condizioni","Media sociali","Facebook","LinkedIn","Twitter","Quora","Telegramma","Discordia","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgio | IVA BE 0749 716 760\n"]}
~ Un racconto di webscraping di Arya - Un utente di ProxyScrape
Per essere chiari, devo dichiarare che non sono un rappresentante ufficiale di ProxyScrape. Tuttavia, sono una grande fan e cliente dei loro servizi. Se non utilizzate già i loro servizi, vi consiglio vivamente di farlo! Le opinioni e i pensieri che seguono sono interamente miei.
"Oh $!*^, non c'è modo".
Questo è l'esatto sentimento che mi sono ritrovato a mormorare alle 3 del mattino, alle prese con la consapevolezza che un'azienda un tempo alla moda come le consegne di latte, qualcosa che la maggior parte delle persone avrebbe relegato all'epoca della disco music e di quei selvaggi abiti al neon, è ancora in giro come un brutto taglio di capelli degli anni '80 - e purtroppo è ovunque.
Questa azienda era un vero affare nel suo periodo di massimo splendore. Nel periodo di massimo splendore non si poteva sfuggire. Ora il suo nome viene mormorato con un pizzico di nostalgia solo nelle case di riposo.
"YellowPages".
You might be wondering, “Why does this matter? Why should anyone give a damn? Why is this not a 30s TikTok with a dude playing GTA 5 on the other half of it?” Well, one of the hottest uses for web scraping is lead discovery and generation. In our capitalist wonderland where everyone’s peddling some crazy sh*t, it just makes sense to scour the internet for the suckers who’ll “HODL” and “FOMO” into your crypto timeshare that’s shaped like “half a rhombus”. And hey, just to be clear, “it’s NOT a pyramid scheme… it’s just shaped like those famous pointy things in Egypt.”
So, here’s the kicker. One of the absolute gems for B2B lead generation, in my humble opinion, is none other than YellowPages (or Yell for you “chewsday” people). Why? Well, let me break it down:
Il "muro della vergogna": Quelle reliquie che non si sono ancora adeguate all'era di Internet sono ancora lì. L'attività di vostro nonno è probabilmente lì, proprio come quella SMMA che avete avviato a causa di TikToks e che avete abbandonato nel giro di tre mesi e che ora è immortalata negli elenchi aziendali di Google.
"Non sono come le altre ragazze": Mentre gli scraper dal viso fresco credono che Google Maps sia il Santo Graal per i contatti delle piccole imprese, ogni scraper esperto sa che si tratta di un mucchio di stronzate: è saturo, ogni quattordicenne ispirato da un certo uomo calvo ha molestato quelle imprese.
"come togliere le caramelle a un bambino": I siti web di YellowPages e dei suoi derivati non hanno uno straccio di protezione. Potrei recuperare ogni singola azienda presente nel loro elenco in pochi secondi. Stiamo parlando di decine di milioni di contatti.
Certo, potrebbe non essere la parola d'ordine nei circoli del marketing, ma è proprio qui che risiede l'opportunità. Mentre gli altri inseguono le ultime tendenze, i pochi esperti riconoscono il potenziale negli angoli dimenticati di Internet. Le Pagine Gialle possono essere una reliquia del passato, ma nel mondo della lead generation sono una reliquia con un potenziale non sfruttato e una tabella di marcia verso il successo.
Ora, vi starete chiedendo: "Come posso approfittare di una simile opportunità?". - Vediamo insieme tutti i passaggi e, se tutto va bene, alla fine anche alcuni di voi neandertaliani saranno in grado di raschiare YellowPages.
Affronteremo la questione come faremmo con qualsiasi altro sito web. Il primo passo è capire come diavolo funziona il sito. Questo di solito richiede che voi, sì, voi, capiate come navigare fino a dove si trovano i dati succosi. No $!*^... come pensate di estrarre i dati se non riuscite a trovarli?!?
Shown Above: YellowPages Canada’s landing page, the unfortunate victim of this post.
Come si può vedere nella pagina di destinazione, ci sono due input di testo: uno per il termine di ricerca e l'altro per la località. Compiliamoli ed effettuiamo una ricerca; cercherò "Dentisti" a "Toronto, Ontario".
Shown Above: YellowPages Canada’s listing results page.
Una volta capito l'ABC e compilato il modulo, riuscendo a individuare il pulsante di ricerca e a cliccarlo (sono impressionato), dovreste essere reindirizzati a una pagina come quella qui sopra, con un percorso simile al seguente:
/ricerca/si/1/Dentisti/Toronto+ON
Possiamo dedurre la seguente struttura del percorso (che ci tornerà utile in seguito):
/ricerca/si/[Numero di pagina]/[Termine di ricerca]/[Località]+[Codice regione]
Un'altra cosa da notare: abbiamo già individuato i dati che ci interessano, gli elenchi delle aziende; cerchiamo di capire da dove vengono caricati gli elenchi delle aziende, che dovrebbero essere inviati all'interno del documento O recuperati da un endpoint API (o, se si è un po' imbranati, e credetemi, l'ho visto - websocket).
Mostrato sopra: Le richieste fetch/XHR provenienti dalla pagina. (Spoiler: i dati non sono in nessuna di esse).
In alto: Gli elenchi delle aziende all'interno del documento. (OMGEEE I dati erano effettivamente all'interno del documento).
As we sifted through the API requests, looking for the data, it was proven futile. We then turned our attention to the HTML. Now, here’s a little nugget of insight for you – after “navigating the digital landscape for over a decade”, I knew instinctively that the data was within the document, thanks to the pages’ snappy responsiveness.
Ma siamo realisti. Dato che YellowPages è un'azienda di elenchi telefonici alla disperata ricerca di rilevanza e, soprattutto, di entrate, è improbabile che ostenti stack tecnologici all'avanguardia. Le possibilità che assumano sviluppatori che sfoggiano flanelle e che hanno cinquanta applicazioni to-do basate su React nel loro curriculum sono scarse o nulle. Quindi, siamo davvero scioccati dal fatto che la pagina web sia statica?
Tuttavia, gli annunci all'interno della pagina sono contenuti in un div, estraibile con il selettore "div.resultList". Ogni singolo elenco, opportunamente annidato all'interno dell'elemento citato, può essere estratto con il selettore div[itemtype="http://schema.org/LocalBusiness]
Vi lascio immaginare come estrarre individualmente i dati al di là di questo livello di granularità; altrimenti saremmo qui per sempre. Utilizzate l'attributo "itemprop", che dovrebbe facilitare notevolmente il processo.
Now, to automate extraction: You should paginate through the results using the URL (recall the path structure we discussed earlier), extracting elements and data from each page until you hit an empty page. I personally opted to use Rust for this project as it’s fast and provides easy parallelization (which will be important in a second), leveraging the “reqwest” and “select” crates to handle the heavy lifting. And here’s a few pro tips: remember to rotate your user agent, set your referrer correctly, use a proxy, and PLEASE don’t DDOS them.
In alto: La pagina dei risultati vuota di YellowPages.
Your script should be good to go now. But how can we elevate this even further? Let’s put our singular combined brain cell to work and ponder… “Do we need to sequentially request each page?” Absolutely not. YellowPages makes it remarkably easy for us to parallelize this process by providing the number of pages available for the query – hint, hint, wink, wink.
In alto: Il conteggio delle pagine di YellowPages in fondo alla pagina dei risultati.
Questa strategia di parallelizzazione presenta però un'avvertenza: Sebbene YellowPages possa suggerire l'esistenza di più di 60 pagine di risultati, il tentativo di accedere a qualsiasi pagina oltre le 60 dei risultati non verrà visualizzato. Pertanto, è bene fissare un limite massimo di 60 pagine per la parallelizzazione. Supponendo una larghezza di banda e una potenza di calcolo adeguate, ogni pagina di risultati dovrebbe essere raschiata nello stesso tempo che si impiegherebbe per raschiare una pagina con il modello sequenziale.
In alto: Esempio di estrazione dei dati degli annunci di YellowPages.
Ora, vi chiederete: si trattava di clickbait? Cosa c'entra il "milionario" con tutto questo? Beh, se avete seguito la vicenda e ora possedete uno script funzionante, posso o meno testimoniare personalmente che nulla vi impedisce di iterare teoricamente tutte le città del Canada e di estrarre da YellowPages tutti gli annunci commerciali di una query all'interno di tale città. Questi dati possono letteralmente avere un valore in dollari dell'ordine di milioni, se opportunamente incrementati, ma sono anche letteralmente milioni di aziende all'interno del loro elenco che ora sono alla vostra portata.
YellowPages può evocare ricordi di un'epoca passata, ma il suo potenziale per la generazione di lead B2B rimane un tesoro nascosto nel panorama digitale. Navigando tra le stranezze della sua interfaccia web statica, lo scraping dei dati da questa piattaforma apparentemente obsoleta svela una vasta gamma di lead aziendali. La natura trascurata e sottoutilizzata di YellowPages ne fa un'opportunità unica.
Il mio unico obiettivo è che questo post non vi lasci pensare "il vero tesoro sono stati gli amici che ci siamo fatti lungo la strada": spero che questo post dimostri le opportunità uniche che esistono, soprattutto con le competenze che molti di noi danno per scontate, e che sia anche una lettura interessante per coloro che hanno esperienza in questo campo, e che dia un'idea a coloro che non ce l'hanno.
Come sempre, state tranquilli, usate le protezioni e per l'amor di Dio... non fate qualcosa per cui l'FBI vi stia addosso - beh... in questo caso sarebbe la RCMP.
Nella foto in alto: L'equivalente canadese dell'FBI: l'RCMP.