Com a ascensão do Twitter e de outros serviços de microblogging como o Identi.ca, Jaiku e etc.., vieram os encurtadores de URL com a promessa de aproveitar o máximo possível dos 140 caracteres disponíveis. E assim como os serviços de microblogging, os encurtadores de URL também possuem ótimas APIs para que desenvolvedores integrem seus aplicativos a estes serviços.
Neste artigo irei demonstrar uma das mais variadas formas de interagir com a API dos mais importantes encurtadores de URL, a linguagem escolhida foi o Python e o módulo que iremos trabalhar é o urllib. O módulo urllib lhe fornece meios de acessar servidores HTTP por meios de requests GET
e POST
de maneira simples e direta.
Os encurtadores que iremos trabalhar são: migre.me, is.gd, tinyurl.com e cli.gs.
Estas APIs utilizam o mesmo principio, a URL a ser encurtada é passada em uma variável pela URL do serviço. Então podemos concluir que os passos são “identicos” para estes encurtadores. Vamos à programação!
Primeiramente pedimos ao usuário que informe a URL, essa por sua vez é passada como parâmetro para a função quote do módulo urllib e enfim é printada na tela.
# -*- coding: utf-8 -*- import urllib url = raw_input("Informe a URL: ") short = urllib.urlopen("http://migre.me/api.txt?url=%s" % urllib.quote(url)).read() print ("\nURL Encurtada: %s" % short)
Simples, não acha? No caso acima o script retorna a URL encurtada do migre.me, vale lembrar que nenhum tratamento de erros está sendo aplicado, portanto qualquer valor digitado é enviado para o encurtador, que por sua vez só retorna um link válido se a URL for completa, isto é, com http://. Exemplo:
felipe@felipe-desktop:~/migre.me$ python migreme.py
Informe a URL: http://www.felipeborges.netURL Encurtada: http://migre.me/aU3l
felipe@felipe-desktop:~/migre.me$
Talvez você queira que a URL seja passada como parâmetro ao seu script ao invés de ser “perguntada” durante a execução, como no script anterior. Para isso, um exemplo simples:
# -*- coding: utf-8 -*- import sys import urllib url = sys.argv[1] short = urllib.urlopen("http://is.gd/api.php?longurl=%s" % urllib.quote(url)).read() print ("\nURL Encurtada: %s" % short)
Neste exemplo, encurtamos uma URL no is.gd, e esta é passada como parâmetro para o nosso script. Exemplo de execução:
felipe@felipe-desktop:~$ python teste.py http://www.felipeborges.net
URL Encurtada: http://is.gd/4P7Vj
felipe@felipe-desktop:~$
Vai da sua necessidade a forma que utilizará para encurtar a URL, o importante é que agora você tem um método simples que pode ser personalizado e otimizado para a sua aplicação.
Hey! Eu quero saber como encurtar URL nos demais serviços!
As ordens chefia!
Basta substituir a URL do serviço pela fornecida na documentação da API em questão. Abaixo veja como ficaria a variável short para trabalhar com tinyurl.com e cli.gs.
Tinyurl.com: short = urllib.urlopen(”http://tinyurl.com/api-create.php?url=%s” % urllib.quote(url)).read()
cli.gs: short = urllib.urlopen(”http://cli.gs/api/v1/cligs/create?appid=&url=%s” % urllib.quote(url)).read()
E se você não conhece Python mas deseja saber mais sobre esta maravilhosa linguagem, não deixe de conhecer as seguintes fontes de estudo:
33 comentários
Enviar um comentárioSr.
Obrigado.
india domain registration