Elimina le recensioni dei prodotti Amazon e i dati sui prezzi utilizzando Python

Pubblicato: 2018-08-28
Mostra il sommario
Perché eliminare le recensioni dei prodotti Amazon?
Web Scraping Recensioni di prodotti Amazon utilizzando Python
Cosa farà questo programma di web scraping?
Cose da ricordare mentre si raschiano le recensioni dei prodotti Amazon e i dati sui prezzi
Hai bisogno di aiuto con l'estrazione di dati Web?

Sun Tzu ha detto in The Art of War : " Se conosci il nemico e conosci te stesso, non devi temere il risultato di cento battaglie". Questo vale per quasi tutte le aziende, in particolare per l'attività di e-commerce. Potresti avere l'idea giusta, le persone giuste, l'USP giusto, i prodotti giusti e i prezzi giusti. In qualche modo, non è abbastanza. Devi anche disporre di dati e approfondimenti sufficienti sulla concorrenza, per determinare se il tuo modello di business avrà successo. Questo è il motivo per cui quasi tutte le società di e-commerce in arrivo prima eseguono la scansione di Amazon per vedere come si misura contro il Golia dell'e-commerce.

Perché eliminare le recensioni dei prodotti Amazon?

Oltre ad avere categorie di prodotti enormi e profonde, Amazon consegna in quasi ogni angolo del mondo e ha tredici siti Web specifici per paese. Raschiando i dati di prodotto su Amazon, puoi ottenere informazioni interessanti su prodotti e affari.

L'automazione di questo codice con l'aiuto di un fornitore di servizi può consentirti di eseguire la scansione dei dati dei prodotti Amazon in base al marchio e alla categoria e creare il tuo database di prodotti prima di configurare il tuo negozio eCommerce. Ti aiuterà a risparmiare considerevoli ore di lavoro e denaro se stai appena iniziando la tua attività.

Web Scraping Recensioni di prodotti Amazon utilizzando Python

Nell'articolo "Come estrarre i dati dell'hotel dal sito di viaggio", ti abbiamo mostrato come impostare l'ambiente di scraping web. Segui i passaggi se non conosci Python. Tutto rimane lo stesso. Installa Atom, Python, quindi usa pip per installare BeautifulSoup, quindi copia e incolla questo programma nella schermata dell'editor e salvalo con il nome di amazon_data_extractor.py

Se hai difficoltà a copiare il codice, puoi anche scaricarlo da qui. Puoi scaricare il file e aprirlo in Atom.

[lingua del codice =”python”]
#!/usr/bin/python
# -*- codifica: utf-8 -*-
import urllib.request
importa urllib.parse
import urllib.error
da bs4 importa BeautifulSoup
importazione ssl
importa json

# Per ignorare gli errori del certificato SSL
ctx = ssl.create_default_context()
ctx.check_hostname = Falso
ctx.verify_mode = ssl.CERT_NONE

url=input("Inserisci l'URL del prodotto Amazon-")
html = urllib.request.urlopen(url, context=ctx).read()
zuppa = BeautifulSoup(html, 'html.parser')
html = zuppa.pretify('utf-8')
prodotto_json = {}
# Questo blocco di codice aiuterà ad estrarre il Brand dell'articolo
for div in soup.findAll('div', attrs={'class': 'a-box-group'}):
Tentativo:
product_json['brand'] = divs['data-brand']
rompere
tranne:
passaggio
# Questo blocco di codice aiuterà a estrarre il titolo del prodotto dell'articolo
for span in soup.findAll('span', attrs={'id': 'productTitle'}):
nome_del_prodotto = spans.text.strip()
product_json['name'] = nome_del_prodotto
rompere
# Questo blocco di codice aiuterà ad estrarre il prezzo dell'articolo in dollari
per i div in soup.findAll('div'):
Tentativo:
prezzo = str(divs['data-asin-prezzo'])
product_json['price'] = '$' + prezzo
rompere
tranne:
passaggio
# Questo blocco di codice aiuterà a estrarre l'immagine dell'oggetto in dollari

for div in soup.findAll('div', attrs={'id': 'rwImages_hidden'}):
for img_tag in divs.findAll('img', attrs={'style': 'display:none;'
}):
product_json['img-url'] = img_tag['src']
rompere
# Questo blocco di codice aiuterà a estrarre la valutazione media in stelle del prodotto
for i_tags in soup.findAll('i',
attrs={'data-hook': 'media-star-rating'}):
for span in i_tags.findAll('span', attrs={'class': 'a-icon-alt'}):
product_json['star-rating'] = spans.text.strip()
rompere
# Questo blocco di codice aiuterà a estrarre il numero di recensioni dei clienti sul prodotto
for span in soup.findAll('span', attrs={'id': 'acrCustomerReviewText'
}):
se spans.text:
conteggio_revisione = spans.text.strip()
product_json['customer-reviews-count'] = conteggio_recensioni
rompere
# Questo blocco di codice aiuterà a estrarre le specifiche e i dettagli principali del prodotto
product_json['dettagli'] = []
for ul_tags in soup.findAll('ul',
attrs={'class': 'a-unordered-list a-vertical a-spacing-none'
}):
per li_tags in ul_tags.findAll('li'):
per gli intervalli in li_tags.findAll('span',
attrs={'class': 'a-list-item'}, text=True,
ricorsivo=Falso):
product_json['details'].append(spans.text.strip())

# Questo blocco di codice aiuterà a estrarre le recensioni brevi del prodotto

product_json['brevi-recensioni'] = []
per a_tags in soup.findAll('a',
attrs={'class': 'a-size-base a-link-normal review-title a-color-base a-text-bold'
}):
short_review = a_tags.text.strip()
product_json['short-reviews'].append(short_review)
# Questo blocco di codice aiuterà a estrarre le lunghe recensioni del prodotto
product_json['recensioni lunghe'] = []
for div in soup.findAll('div', attrs={'data-hook': 'review-collapsed'
}):
recensione_lunga = divs.text.strip()
product_json['long-reviews'].append(long_review)
# Salvataggio del file html raschiato
con open('output_file.html', 'wb') come file:
file.scrivi(html)
# Salvataggio dei dati raschiati in formato json
con open('product.json', 'w') come outfile:
json.dump(product_json, outfile, indent=4)
print ('———-L'estrazione dei dati è completa. Controlla il file json.———-')

[/codice]

Cosa farà questo programma di web scraping?

Bene, lascia che ti spieghi con un esempio. Ti mostrerò una pagina di prodotto su Amazon con recensioni e cosa restituisce il programma, quando gli URL vengono inviati al programma specificato.

Prendiamo questo laptop Dell su Amazon. Quando esegui il programma, verrà stampato "Inserisci l'URL del prodotto Amazon-"

Quando lo fa, copia e incolla l'URL indicato sopra. In tal modo, il seguente JSON verrà generato con il nome di product.json nella directory corrente. Viene generato il collegamento da abbinare al tuo JSON.

[lingua del codice =”python”]
{
“marchio”: “Acer”,
"nome": "2018 più recente display antiriflesso LED per Chromebook HD da 14 pollici Acer, processore Intel Dual-Core Celeron 3855u da 1,6 GHz, 4 GB di RAM, 16 GB di SSD, HDMI, USB 3.0, webcam, Wi-Fi 802.11a, Bluetooth, Google Chrome sistema operativo”,
“prezzo”: “$ 229,00”,
“img-url”: “https://images-na.ssl-images-amazon.com/images/I/41nlp137qeL._SX300_QL70_.jpg”,
“valutazione a stelle”: “4,2 stelle su 5”,
"conteggio-recensioni-cliente": "79 recensioni dei clienti",
"particolari": [
Display “14” antiriflesso HD WLED retroilluminato (1366×768) con tecnologia Acer ComfyView, lettore multimediale integrato”,
"Processore Intel dual-core Skylake Celeron 3855U 1,60 GHz 2M Cache, Intel HD Graphics 510, webcam HD integrata con microfono",
"4 GB di memoria LPDDR3, 16 GB di memoria flash eMMC, supporto cloud integrato: salva facilmente i tuoi file sul tuo account Google Drive per un accesso sicuro ovunque tu vada",
"WiFi 802.11a ad alta velocità, Bluetooth, HDMI, 2x USB 3.0, 1x USB 3.1 Type-C, 1x jack combinato cuffie/microfono",
"Google Chrome OS, durata della batteria fino a 10 ore, colore: nero"
],
“brevi recensioni”: [
"Computer migliore e più sicuro per navigare sul Web e guardare video di ogni tipo.",
“... l'ho avuto solo per un paio di giorni, ma lo adoro. Sono passato da un macbook a questo…”,
"Ottimo per il lavoro scolastico... e Netflix",
"Questo NON è un Acer più recente del 2018 - la data di produzione è 08/2016",
“PRODOTTO FANTASTICO…SEMPLICE DA USARE”,
"Adoro questo laptop",
"... è lo schermo più grande - la mamma sembra amarlo.",
"facile da usare"
],
"recensioni lunghe": [
“Ho già un Chromebook Acer da 11,5”, acquistato qualche anno fa e sulla base del successo di questo primo ho deciso di andare avanti e acquistarne un altro di dimensioni maggiori. AMO, ADORO i miei due Chromebook Acer. In passato ho commesso l'errore di acquistare un normale tipo di computer Microsoft Windows, e pochi di loro hanno ancora a casa, ma dopo aver scoperto il Chromebook Acer, devo dire, vorrei sapere prima della superiorità di un Chromebook su un Windows , Prodotto Microsoft….Non voglio aprire un tipo di guerra tra computer Microsoft Windows contro un Chromebook Acer qui….Sto solo dicendo…se sei soddisfatto del tuo prodotto Microsoft Windows, non sto criticando il tuo acquisto, quello che sono il detto è che avere entrambi i prodotti in casa... Adoro la semplicità del Chromebook Acer rispetto agli "ALTRI"... Sono pienamente consapevole che un computer di tipo Microsoft Windows può fare altre cose che un Chromebook non può fare, ma se lo sei semplicemente navigando sul Web e consumando molti media Web, Facebook o Yahoo Mail, YouTube, Netflix... Niente batte il Chromebook Acer per affidabilità e velocità. Il Chromebook Acer si accende alla velocità della luce e nessun virus di cui preoccuparsi. Inoltre, non rallenta durante l'aggiornamento del sistema come fa costantemente Microsoft Windows ... Sì, con uno schermo da 15,6 pollici, è davvero un piccolo gioiello e il prezzo era molto buono ... Grazie Amazon. E grazie ACER.",
“L'ho avuto solo per un paio di giorni, ma lo adoro. Sono passato da un macbook a questo e mi aspettavo di essere deluso. Non ho dovuto regolare nessuna delle impostazioni o altro con questo laptop. Ho effettuato l'accesso al mio gmail ed è stato tutto perfetto. Finora non ho lamentele. Non riesco a credere a quanto fosse poco costoso.",
“L'ho avuto per più di un mese ormai. È una macchina veloce e facile da usare con un grande schermo. Comprato per mia figlia da usare per i compiti. La nostra scuola, come molte altre, utilizza Google Docs per gran parte del lavoro svolto online. Un Chromebook è tutto ciò di cui hanno bisogno, non c'è bisogno di Microsoft! Ovviamente a mia figlia piace il grande schermo per guardare Netflix quando i compiti sono finiti!”,
“NON un Chromebook del 2018 come indicato nel titolo. Mi aspettavo un Chromebook prodotto alla fine del 2017 o 2018. Questo particolare Chromebook è stato prodotto nell'agosto del 2016. Titolo molto fuorviante……sicuramente non il "2018 più recente". Tuttavia, il Chromebook sembra essere abbastanza decente.",
“Ero stanco degli aggiornamenti difettosi di Windows 10 e avevo bisogno di un computer affidabile. L'Acer mi è stato consigliato da diversi amici. L'ho ricevuto la scorsa settimana e lo adoro. Facile da configurare e capire, nessun calore dal disco rigido, veloce, meno fastidioso, buona qualità, ecc. Ho ancora il mio Dell con Windows 10, ma per ora questo Chromebook Acer è la mia prima scelta. Ci vuole un po' per abituarsi a una tastiera con meno tasti e più ravvicinati, ma non ho altri scrupoli su questo Chromebook. Imparo ogni giorno di più sul Chromebook e ne apprezzo la semplicità e l'assenza di sicurezza aggiuntiva. Ottimo rapporto qualità-prezzo e prestazioni. Sono rimasto soddisfatto del prezzo e delle caratteristiche dell'Acer. Facile da collegare a Ethernet con adattatore, se necessario.",
“Adoro questo laptop! Mentre sono abituato ai Macbook, il mio amato è morto di recente. Non ero sul mercato per un altro macbook (non per scelta) e avevo bisogno di un nuovo laptop in fretta. Ho fatto una rapida ricerca e ho visto buone recensioni su questo laptop. Ho ordinato su Amazon Prime e l'ho ricevuto in 3 giorni. Sono impressionato! Chomebook mi ha reso la vita estremamente facile. Tutto è connesso! Qualcosa sulla tastiera semplifica la digitazione. LO ADORO!",
"Un po' pesante ma è lo schermo più grande - La mamma sembra adorarlo... niente più ingombro sullo schermo del desktop... Grazie",
“Comprato per un parente anziano. facile da usare!"
]
}
[/codice]

Vedrai anche che abbiamo salvato la pagina html raschiata con il nome di output_file.html nella stessa directory di lavoro. Ecco il link per verificare come è stato raschiato il documento html per questa particolare pagina del prodotto. Puoi provare a raschiare i dati dei prodotti Amazon da questo html usando BeautifulSoup.

Cose da ricordare mentre si raschiano le recensioni dei prodotti Amazon e i dati sui prezzi

1. Otterrai le seguenti cose da una pagina del prodotto Amazon, utilizzando questo raschietto per prodotti

    • un. Marca
    • b. Nome
    • c. Prezzo
    • d. URL dell'immagine
    • e. Stelle
    • f. Numero di recensioni dei clienti
    • e. Dettagli importanti
    • f. Brevi recensioni
    • g. Recensioni lunghe

Ogni punto dati sarà presente nel JSON (uno o due potrebbero mancare se non è presente per un prodotto o se il raschietto non è in grado di individuarlo). Ogni punto dati verrà inoltre fornito con la rispettiva etichetta.

2. Bene, non possiamo garantire che l'URL di ogni pagina di prodotto venga elaborato senza problemi con questo codice. Questo perché Amazon continua a cambiare il suo codice regolarmente e anche tutti gli articoli o tutte le sottocategorie non hanno la stessa formattazione HTML CSS.

3. Se esegui questo programma più volte, in un breve lasso di tempo, potresti riscontrare questo errore, errore HTTP 503. Si tratta di un errore lato server. Ma ciò che significa in questo caso è che Amazon sta bloccando i tuoi tentativi di scansione dei dati. Quindi, quando raschierai Amazon per uso professionale, ti suggeriamo sempre di ottenere aiuto da servizi di scraping web come PromptCloud. I servizi di web scraping possono configurare un sistema per te, che eseguirà automaticamente la scansione di tutti i dati di cui hai bisogno, in modo che tu possa concentrarti sulla tua attività, senza preoccuparti dei dati.

4. Il programma è valido solo per www.amazon.com e non è stato testato in nessuno dei siti Web specifici del suo paese.

Abbiamo nuovi siti di eCommerce che fanno acquisti quasi ogni singolo giorno. In mezzo a una concorrenza così dura, il sostentamento e i profitti aziendali diventano difficili in assenza di intuizioni sulla concorrenza. I dati sui prodotti Amazon potrebbero essere il punto di riferimento e il punto di partenza per te. Web scraping Amazon può fornirti le informazioni dettagliate sui prodotti che ti aiuteranno a costruire e ridimensionare la giusta strategia aziendale e la giusta categoria di prodotti.

Hai bisogno di aiuto con l'estrazione di dati Web?

Ottieni dati puliti e pronti per l'uso da siti Web per applicazioni aziendali tramite i nostri servizi di scraping web. Contattaci.

Dichiarazione di non responsabilità: il codice fornito in questo tutorial è solo a scopo didattico. Non siamo responsabili per come viene utilizzato e non ci assumiamo alcuna responsabilità per qualsiasi utilizzo dannoso del codice sorgente.