python使用urllib2模块获取gravatar头像实例

yipeiwu_com6年前Python基础

Gravatar注册地址: https://en.gravatar.com/

复制代码 代码如下:

"""`Gravatar <https://en.gravatar.com/site/implement/>`_"""

# import code for encoding urls and generating md5 hashes
import urllib2, hashlib

# Make response slow if verify whether default avatar or not.
# So let js do it, see `/static/js/article.js`.
def gravatar_url(email, size=40, verify_default=False):
    """Construct the gravatar url."""
    gravatar_url = ''.join(['http://www.gravatar.com/avatar/',
        hashlib.md5(email.lower()).hexdigest(), '?s=%d' % size])
    # if default return None
    if (verify_default):
        gravatar_url += '&d=404'
        try:
            urllib2.urlopen(gravatar_url)
        except urllib2.URLError, e:
            return None
    return gravatar_url

if __name__ == '__main__':
    import webbrowser as wb
    for email in ['xxx@gmail.com']:
        url = gravatar_url(email)
        print(url)
        if url:
            wb.open(url)

相关文章

python 回调函数和回调方法的实现分析

回调与事件驱动 回调函数有比较重要的意义:它在是事件驱动的体现 我们试想一个场景,如果我们触发了某个事件,比如点击事件 那么只要给这个点击事件绑定一个或多个处理事件,也就是回调函数 我们...

Python多继承原理与用法示例

Python多继承原理与用法示例

本文实例讲述了Python多继承原理与用法。分享给大家供大家参考,具体如下: python中使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承,也叫菱形继承问题)等 MRO MR...

Python中的index()方法使用教程

 index()方法确定字符串str,如果起始索引beg和结束索引end在末尾给出了找到字符串或字符串的一个子串。这个方法与find()方法一样,只是如果没有找到子符趾会抛出一...

对Django项目中的ORM映射与模糊查询的使用详解

ORM映射 什么是ORM映射?在笔者认为就是对SQL语句的封装,所写语句与SQL对应语句含义相同,使开发更加简单方便,不过也是存在弊端的,使程序运行效率下降。例如: UserInf...

Python打印斐波拉契数列实例

本文实例讲述了Python打印斐波拉契数列的方法。分享给大家供大家参考。具体实现方法如下: #打印斐波拉契数列 #!/usr/bin/python def feibolaqi(n):...