Servizio automatico di traduzione delle Keywords

Supponiamo che abbiate un sito web con un negozio online per il mercato Italiano, gli affari vanno bene e dopo la prima fase di avvio intendete allargare i vostri orizzonti commerciali verso gli altri paesi Europei.

Il vostro sito di scarpe ed abbigliamento sportivo ‘MR Calcio’ è ottimizzato per i motori di ricerca e tra le varie attività di SEO on page avete impostato un’accurata selezione di keywords nell’apposito meta tag.

<meta name="keywords" content="scarpe, MR-Calcio, offerte, saldi">

Ora queste keywords devono essere tradotte in altre quattro lingue per adattarsi alle nuove pagine del sito realizzate per i mercati: Inglese, Francese, Spagnolo e Tedesco.

Sul web esistono diversi siti che si occupano di fornire un servizio di traduzione:

  • https://context.reverso.net
  • http://www.wordreference.com
  • https://en.pons.com/translate

In questo esempio le parole sono poche, me volessimo tradurre le keywords di ogni pagina del sito il lavoro diventerebbe enorme, meglio creare una script per automatizzare le traduzioni.

Prendiamo in considerazione il primo sito dell’elenco ed effettuiamo una ricerca per la traduzione della parola ‘scarpe’ dall’Italiano all’Inglese. Quello che comparirà sulla barra di ricerca sara questa url:

https://context.reverso.net/translation/italian-english/scarpe

La composizione della url è abbastanza semplice possiamo quindi intuire che se volessimo tradurre la parola ‘casa’ dall’Italiano all’Inglese possiamo semplicemente scrivere sulla barra del nostro browser:

https://context.reverso.net/translation/italian-english/scarpe

Se volessimo tradurre nuovamente la parola ‘scarpe’, questa volta però in lingua Francese possiamo usare la url:

https://context.reverso.net/translation/italian-french/scarpe

Con due semplici cicli for possiamo ottenere tutte le combinazioni che ci interessano per poi effettuare in modo automatico le chiamate al sito scorrendo gli elementi della lista delle nostre keywords:

keywords=["scarpe", "MR Calcio","offerte", "saldi"]
languages = ['english', 'french','dutch','spanish']
for l in languages:
    for k in keywords:
        url='https://context.reverso.net/translation/italian-'+l+'/'+k
        print(url)

Questo semplice script ci fornirà come risultato l’elenco delle chiamata che dobbiamo effettuare. Utilizzando la libreria ‘Request’ possiamo effettuare rapidamente tutte le chiamate al sito.

Per ottenere la parola tradotta possiamo ricercare il nodo che ci interessa con lo ‘strumento per sviluppatori’ del browser, accessibile su Chrome e Firefox premendo semplicemente il tasto F12 della tastiera.

Copiando l’indirizzo xpath del nodo possiamo andare ad estrarre la traduzione della parola con l’aiuto della libreria ‘lxml’:

import requests

keywords=["scarpe", "MR Calcio","offerte", "saldi"]
languages = ['english', 'french','dutch','spanish']
for l in languages:
    print(l.upper())
    for k in keywords:
        url='https://context.reverso.net/translation/italian-'+l+'/'+k
        headers = {'User-Agent': random.choice(user_agent)}
        page = requests.get(url,headers=headers)
            try:
                parser = etree.HTML(page.content)
                translation = parser.xpath('//*[@id="translations-content"]/a[1]/text()')[0]
                clean_translation=translation
                print(clean_translation)
            except:
                print(f'Traduzione di {k} non disponibile in {l}!' )
            

Se lanciamo il programma otterremo un risultato come il seguente:

ENGLISH
shoes
Traduzione di MR Calcio non disponibile in english!
offers
balances
FRENCH
chaussures
Traduzione di MR Calcio non disponibile in french!
offres
soldes
DUTCH
schoenen
Traduzione di MR Calcio non disponibile in dutch!
offertes
saldi
SPANISH
zapatos
Traduzione di MR Calcio non disponibile in spanish!
ofertas
saldos

Abbiamo visto come ottenere un semplice servizio di traduzione per ottenere rapidamente delle keywords in più lingue.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *