Skip to content

Instantly share code, notes, and snippets.

@fabiovila
Last active November 2, 2021 19:36
Show Gist options
  • Save fabiovila/3a0a4933789bf9cae0cc11fe90bb04ba to your computer and use it in GitHub Desktop.
Save fabiovila/3a0a4933789bf9cae0cc11fe90bb04ba to your computer and use it in GitHub Desktop.
Um script que pesquisava por itens no programa de affiliados da Amazon.

Um script que pesquisava por itens no programa de affiliados da Amazon.

Faz tempo que não uso então não sei se ainda funciona. Retorna uma URL assinada que deverá ser usada para fazer o request. O serviço da Amazon retorna um XML.

Funcionou bem por alguns anos, até a Amazon acabar com meu cadastro de affiliado por novas politicas.

Foram bons tempos que eu tinha o site ofertala.com.br que pesquisava na Amazon, na Lomandee e Aliexpress juntos. Tinha cupons. Tinha também um bot no telegram para os usuários pesquisarem, foi bem movimentado.

Ai você me pergunta se ganhei alguma grana???? Lomadee, nada. Amazon ... um pouco, Aliexpress foi o que mais deu, mas nunca pagou os custos.

Porém foram bons tempos de programação de sites, uso de apis, banco de dados, SEO, divulgação, Web Design, Aministração de servidor cloud AWS e GCloud.

Então a Amazon mudou suas politicas e acabou meu cadastro (e olha que eu tinha o cadastro antigo), então a Lomandee mudou a api e nunca mais funcionou nada por lá (e nunca ganhei nada lá), então o Aliexpress tocou o foda-se e sua API antiga foi desativada e a nova não se consegue cadastro.

Acabou a alegria. Desativei o site, o bot e só ficou saudades de administrar e programar tudo aquilo. Aprendi muito. Fiz tudo do zero e sozinho.

import hmac, base64, hashlib
import base64, hashlib, hmac, time
import urllib.parse
def search(item):
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
ASSOCIATE = ''
data = time.strftime("%Y-%m-%dT%H%%3A%M%%3A%SZ", time.gmtime())
URL = "AWSAccessKeyId={}&AssociateTag={}&Keywords={}&Operation=ItemSearch&ResponseGroup=Images%2CItemAttributes%2COffers&SearchIndex=All&Service=AWSECommerceService&Timestamp={}".format(AWS_ACCESS_KEY_ID,ASSOCIATE,item,data)
#Construct the string to sign
string_to_sign = "GET\nwebservices.amazon.com.br\n/onca/xml\n%s" % URL
#print(string_to_sign)
# Sign the request
signature = hmac.new(
key=bytes(AWS_SECRET_ACCESS_KEY,'latin-1'),
msg=bytes(string_to_sign,'latin-1'),
digestmod=hashlib.sha256).digest()
# Base64 encode the signature
signature = base64.encodebytes(signature).strip()
# Make the signature URL safe
urlencoded_signature = urllib.parse.quote_plus(signature)
urllib.parse.quote_plus(signature)
#RESULT = URL + "&Signature=%s" % urlencoded_signature
return ("%s?%s" % ("https://webservices.amazon.com.br/onca/xml", URL + "&Signature=%s" % urlencoded_signature))
#print(search("iphone"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment