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

yipeiwu_com7年前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 通过调用接口获取公交信息的实例

如下所示: # -*- coding: utf-8 -*- import sys, urllib, urllib2, json city=urllib.quote(sys.argv...

详解PyCharm配置Anaconda的艰难心路历程

详解PyCharm配置Anaconda的艰难心路历程

在安装好pycharm后,想着anaconda中的类库会比较全,就想着将anaconda配置到pycharm中,这样可以避免以后下载各种类库。 第一步就是要下载并安装anaconda,在...

理解python多线程(python多线程简明教程)

对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂。所以,这里力图用简单的例子,让你对多线程有个初步的认识。 单线程   在好些年前的MS-DOS时代,操作系...

selenium+python实现1688网站验证码图片的截取功能

selenium+python实现1688网站验证码图片的截取功能

1. 背景 •在1688网站爬取数据时,如果访问过于频繁,无论用户是否已经登录,就会弹出如下所示的验证码登录框。 一般的验证码是类似于如下的元素(通过链接单独加载进页面...

Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法

Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法

virtualenv简介 含义: virtual:虚拟,env:environment环境的简写,所以virtualenv就是虚拟环境,顾名思义,就是虚拟出来的一个新环境,比如我们使用的...