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实现手写一个类似django的web框架示例

Python实现手写一个类似django的web框架示例

本文实例讲述了Python实现手写一个类似django的web框架。分享给大家供大家参考,具体如下: 用与django相似结构写一个web框架。 启动文件代码: from wsgir...

详解python字节码

Python对不可变序列进行重复拼接操作效率会很低,因为每次都会生成一个新的对象,解释器需要把原来对象中的元素先复制到新的对象里,然后再追加新的元素。 但是CPython对字符串操作进行...

python 弹窗提示警告框MessageBox的实例

需要安装pywin32模块,pip install pywin32 ##pip install pywin32 import win32api,win32con ##提醒OK...

python通过get,post方式发送http请求和接收http响应的方法

本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法。分享给大家供大家参考。具体如下: 测试用CGI,名字为test.py,放在apache的cgi...

Python的ORM框架中SQLAlchemy库的查询操作的教程

1. 返回列表和标量(Scalar) 前面我们注意到Query对象可以返回可迭代的值(iterator value),然后我们可以通过for in来查询。不过Query对象的all()、...