越来越离谱,朋友希望我做个程序,帮助他网站的用户自动设置头像

需求分析

这周,我做了爬取头像的python程序,比如说这个,爬取好看的头像,效果还算不错。自从有了这个程序,我也是可以经常换头像的人了

今天,有一个朋友联系说我,“仙草哥哥,我看了你的爬取头像的程序,受到了很大的启发。你知道我也是一个小站的站长,我的网站上有用户注册的功能,而且注册了以后可以自己上传头像。但是问题在于,我发现的大多数的用户都不喜欢设置头像,他们嫌设置头像太麻烦了。虽然我给用户发送了提示,而且还出了送金币的任务鼓励大家换头像,但是,他们还是不肯更换头像。你能不能帮我做一个程序,可以给我的用户自动完成设置头像呢?”

我说,“自动设置头像,听起来很有意思,但是你打算怎么做呢?首先我们保存很多的头像下来,然后等用户注册账号的时候,我们就随机给他设置一个吗?”

他说,“这样不好,因为用户的头像毕竟是代表他自己的。我们怎么能随便乱给别人设置头像呢?我希望,能够自动设置为他自己平常用的头像。”

我说,“也就是说,我们要帮助用户,设置他平常用的头像吗?这怎么可能呢?我也不认识他啊,我哪知道他平常会用什么头像呢?”

他说,“在注册的时候,我会要求新用户绑定上他的qq号,我们使用qq头像就可以了。也就是说,在他完成注册以后,如果他不主动设置头像,我们就把他的qq头像设置为默认头像,这样不就可以了吗?”

哦,原来是这样!我恍然大悟,对,这是一个非常常用的功能,很多的网站和应用,尤其是可以使用qq直接登陆的第三方网站和应用,大多都可以直接使用qq头像,那么这个功能要怎么做呢?现在我们就来实现一下吧

代码实现

获取qq头像是一个很常见的功能,我们只需要使用对应的API接口就好了,首先我们需要知道对方的qq号码,然后,通过访问对应的头像接口,就可以下载到头像了

import requests
from base64 import b64decode


def save_img(qq_number):
    base_url = "aHR0cHM6Ly9xbG9nbzQuc3RvcmUucXEuY29tL3F6b25lLw=="
    url = b64decode(base_url).decode() + str(qq_number) + "/" + str(qq_number) + "/" + "640"
    headers = {"user-agent": "Mozilla/5.0"}
    r = requests.get(url, headers=headers)
    with open(str(qq_number) + ".png", "wb") as f:
        f.write(r.content)


qq_number = input("请输入您的qq号:")
save_img(qq_number)

只要像这样使用就可以了,只需要一个很简单的函数,就能保存下我们所需要的头像了

新的需求

我把这段代码给了朋友,朋友非常的开心,他表示真没想到python居然这么有用,这样一个功能,这么容易就实现了

但是,朋友又提出了另外一个想法,“虽然,现在这个功能已经满足了我的需要了。但是嘛,大家都知道做程序必须要考虑到扩展性。以后如果我提供了给用户建立群组的功能的话,那么群组比如说需要建立一个对应的qq群,那这个给群组自动设置头像又是一个问题了。仙草哥哥,虽然我现在还没决定要推出这个功能,但是,防患于未然,你能不能一起帮我把这个也做出来呢?”

为群组自动设置头像吗?这个功能呢都是一样的,小事一桩,我们只需要略作调整就可以了

新的实现

和刚刚的程序不能说十分相像,只能说是一模一样。我们只需要换掉原本的api接口,换上对应的群组接口,就可以完成这样一个功能了

import requests
from base64 import b64decode


def save_group_img(group_number):
    base_url = "aHR0cHM6Ly9wLnFsb2dvLmNuL2doLw=="
    url = b64decode(base_url).decode() + str(group_number) + "/" + str(group_number) + "/" + "640"
    headers = {"user-agent": "Mozilla/5.0"}
    r = requests.get(url, headers=headers)
    with open("g" + str(group_number) + ".png", "wb") as f:
        f.write(r.content)


group_number = input("请输入您所需的群号:")
save_group_img(group_number)

可以看到,仍然还是一个函数,非常的简单方便啊。不要看代码很少,实现也很简单,但是功能还算是蛮不错的,如果你也是一个站长,你也希望为用户自动设置头像的话,你真的可以试试这个!


虽然在技术上和爬虫所用的技术是一样的,但其实这并不算是真正意义上的网络爬虫,也可以算是单纯的发起一个正常的网络请求而已

这也说明了,爬虫技术本身能够应用的范围是很广泛的,并非只有爬取数据这一种途径

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值