A simple URL shortening Python Lib, implementing the most famous shorteners.
You can install pythorteners by pip or cloning/forking the repository and just typing
Installing via pip
pip install pyshorteners
Installing with the cloned/downloaded code
python setup.py install
Use tox to test with all environments needed by just typing tox on command line
Create a Shortener instance passing the engine as an argument. Google Shortener is the default engine if no engine param is passed.
No login or api key needed on kwargs
from pyshorteners.shorteners import Shortener
url = 'http://www.google.com'
shortener = Shortener('GoogleShortener')
print "My short url is {}".format(shortener.short(url))
# expanding
url = 'http://goo.gl/SsadY'
print "My long url is {}".format(shortener.expand(url))
API Key and login configs needed on kwargs
from pyshorteners.shorteners import Shortener
# For Bit.ly you HAVE to provide the login and api key
login = 'MY_LOGIN'
api_key = 'MY_API_KEY'
url = 'http://www.google.com'
shortener = Shortener('BitlyShortener', bitly_login=login, bitly_api_key=api_key)
print "My short url is {}".format(shortener.short(url))
# expanding
url = 'http://bit.ly/AvGsb'
print "My long url is {}".format(shortener.expand(url))
No login or api key needed
from pyshorteners.shorteners import Shortener
url = 'http://www.google.com'
shortener = Shortener('TinyurlShortener')
print "My short url is {}".format(shortener.short(url))
# expanding
url = 'http://tinyurl.com/ycus76'
print "My long url is {}".format(shortener.expand(url))
uid and api key needed, banner type optional (int or banner) No expanding for this shortener
from pyshorteners.shorteners import Shortener
url = 'http://www.google.com'
shortener = Shortener('AdflyShortener')
print "My short url is {}".format(shortener.short(url, uid=UID,
api_key=API_KEY, type='int'))
No login or api key needed
from pyshorteners.shorteners import Shortener
url = 'http://www.google.com'
shortener = Shortener('IsgdShortener')
print "My short url is {}".format(shortener.short(url))
# expanding
url = 'http://is.gd/SsaC'
print "My long url is {}".format(shortener.expand(url))
No login or api key needed
from pyshorteners.shorteners import Shortener
url = 'http://www.google.com'
shortener = Shortener('SentalaShortener')
print "My short url is {}".format(shortener.short(url))
# expanding
url = 'http://senta.la/urubu'
print "My long url is {}".format(shortener.expand(url))
No login or api key needed. Generic expander service, allows to expand url's generically no matter what source shortening service was used It works with regular url's returning the same url. Trying to shorten an url throws an exception
from pyshorteners.shorteners import Shortener
# Another service is used to shorten to simulate an already shortened url
url = 'http://www.google.com'
shortener = Shortener('GoogleShortener')
shortened_url = shortener.short(url)
print "My short url is {}".format(shortened_url)
expander = Shortener('GenericExpander')
# expanding
print "My long url is {} using generic expander".format(expander.expand(shortened_url))
You can have the QR Code for your url by calling the qr_code method after shorteing your url.