Generare un feed per Froogle.Google.com

di Roberto Abbate, in Classic ASP, UserScript, Misc,

Froogle (http://www.froogle.com/) è il servizio di Google che consente di ricercare prodotti in vendita di ogni tipo. Per i negozianti è possibile richiedere l'inserimento in maniera completamente gratuita. Per il momento il servizio è fermo a negozi che vendono sul territorio USA, ma molto presto sarà esteso a tutto il mondo.

Una volta ottenuti i dati per l'accesso al servizio, l'interazione con Froogle non è stata realizzata nella tecnologia più recente: è necessario creare un file di testo e mandarlo poi via FTP a Google. Questo file di testo dovrà chiamarsi esattamente come il nome del negozio più .txt (ad esempio www.amazon.com creerà un file amazon.txt) e conterrà i prodotti da noi venduti (quanti ne vogliamo) e le informazioni sugli stessi.

Lo standard per la creazione del file è denominato tab delimited, ovvero ogni campo viene separato dall'altro con una tabulazione: un file del genere si può creare partendo da excel e incollando poi le celle in un file di testo.

I campi principali sono:

product_url: indirizzo assoluto del prodotto
name: nome del prodotto
description: descrizione del prodotto
price: prezzo del prodotto (si sottointende in dollari americani)
image_url: url assoluto dell'immagine raffigurante il prodotto
category: categoria (fare affidamento a Froogle per scegliere la più opportuna)
offer_id: un id numerico univoco per il prodotto

Per fare le cose più rapidamente però, è possibile creare questo tab delimited file in maniera dinamica. Ad esempio estraendo il tutto da un database, come segue:

<%

' i campi del file di testo
' separati da una tabulazione
'
' e ci aggiungo anche un ritorno a capo
' per poi inserire i prodotti

response.write "product_url" & VbTab & "name" & VbTab & "description" & VbTab & "price" & VbTab & "image_url" & VbTab & "category" & VbTab & "offer_id" & VbCrLF

' mi connetto ad un db
' nell'esempio access ma potrebbe
' essere qualunque altro, anche un
' semplice documento XML

dim strConn
strConn="Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("database.mdb")&"; Persist Security Info = False"

 Set conn=Server.CreateObject("ADODB.Connection")
conn.Open strConn

set rs = Server.CreateObject("ADODB.Recordset")

rs.open "SELECT * FROM nometabella", conn, 1, 3

' ciclo sui prodotti per ottenerli tutti

do while rs.eof<>True
  ' ottengo l'url del prodotto
  response.write "http://www.nomesito.it/pagina.asp?modello=" & Rs("modello") & VbTab

  ' ottengo il modello, ovvero il nome del prodotto
  response.write Rs("modello") & VbTab

  ' ottengo la descrizione, non sono ammessi tags HTML
  Dim descrizione
  descrizione = Replace(Rs("descrizione"),"<","<")
  descrizione = Replace(Rs("descrizione"),">",">")
  descrizione = Replace(Rs("descrizione"),"&","&")

  response.write descrizione & VbTab

  ' ottengo il prezzo
  response.write Rs("costo") & VbTab

  ' ottengo la foto
  response.write "http://www.nomesito.it/foto/" & Rs("modello") & ".png" & VbTab

  ' la categoria, presa da Froogle
  response.write "Computers > Notebooks > Notebook Computers" & VbTab

  ' l'id univoco, lo ottengo dal campo id del database
  response.write Rs("id") & VbTab

  ' vado a capo, così posso prendere il prodotto successivo
  response.write VbCrLF

  ' prendo il prodotto successivo
  rs.movenext
loop

' chiudo tutto e libero risorse
rs.close
set rs=Nothing

conn.Close
set conn=Nothing

%>

E' possibile migliorare però l'automazione di questa banale applicazione, per esempio facendo schedulare un file che ogni tot giorni (ad esempio ogni settimana/mese ecc.) staticizzi il contenuto del codice appena presentato e salvi il risultato in un file .txt già bello che pronto per l'upload.
Ciò è possibile grazie a component come RPRobber oppure XMLHttp: con uno di questi due componenti estrarremo il contenuto generato dal file dinamico appena presentato e con FSO salveremo il tutto in un documento di testo, già pronto per l'upload via FTP su Froogle.

Nota: per chi volesse usare JScript al posto di VBScript, il comando per la tabulazione è \t (al posto di VbTab) e quello per il ritorno a capo è \n al posto di VbCrLF

Per maggiori informazioni su XMLHttp:
https://www.aspitalia.com/ricerca/super.aspx?usag=1&key=xmlhttp

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi