获取QQ信息导入execl、存redis、下载头像
# http://q4.qlogo.cn/g?b=qq&nk=1049328922&s=140 #这个是获取头像的url# 1、请求qq群的接口,实现传入一个群号# 2、把群里每个人的 昵称、群备注、入群时间、qq号,性别,存到redis里面,用hash类型# {"qq_num":511402865,"nick":"午夜之魂","card":"午夜之魂","gender":"男","入群时间":"2017-01-03"}# 3、把每个人的头像下载下来保存到本地,牛牛.jpg# 4、把昵称、群备注、入群时间、qq号,性别这些信息写到excel里面# 5、把excel当做附件发到我的邮箱里面。
import jsonimport os import requests,redis,xlwt,yagmail,time def getData(): #获取群接口的信息 url = 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_members' data = { 'gc': 921144696, 'st': 0, 'end': 20, 'sort': 0, 'bkn': 341160307 } headers = {'cookie':'RK=JQZpwBp1by; ptcz=6c30e26a9ed6be93d3de9e4c4aca3e55650cf99fcffa64729bd1d58a5fb209d9; pgv_pvi=779236352; pgv_pvid=6970909788; qb_qua=; qb_guid=818de686e29d412fa4ee9e99905ea166; Q-H5-GUID=818de686e29d412fa4ee9e99905ea166; NetType=; o_cookie=511402865; pac_uid=1_511402865; uin=o0511402865; ptisp=cnc; pgv_si=s3027380224; p_uin=o0511402865; traceid=a5329de24a; pgv_info=ssid=s9247410675; skey=@q9o11HspH; pt4_token=RnDTPQBuS*GfBBan7f7Kr1zwMrATa5NLuxnm*PATgNc_; p_skey=la4BrvIKFjioohQ0VaokxhOb4aZTXeIoOiZNaiDMGss_'} req = requests.post(url,data,headers=headers,verify=False ) return req.json() def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'): '''时间戳转格式化好的时间,如果没有传时间戳,就获取当前的格式化时间''' if timestamp: time_tuple = time.localtime(timestamp) #把时间戳转成时间元组 result = time.strftime(format,time_tuple) #把时间元组转成格式化好的时间 return result else: return time.strftime(format) def covert_gender(g): if g==0: return '男' elif g==1: return '女' return '未知' def filterData(data): result = []#存放每个用户的信息 mem_data = data.get('mems') titles = ['uin','join_time','card','g','nick'] for mem in mem_data: d = {} for t in titles: val = mem.get(t) if t == 'join_time': # 转换加入时间 val = timestamp_to_str(val) if t == 'g': # 转换性别 val = covert_gender(val) d[t] = val result.append(d) return result def writeExecl(data,excel_name): book = xlwt.Workbook() sheet = book.add_sheet('sheet1') titles = ['uin','join_time','card','g','nick'] for col,value in enumerate(titles,0):#写表头 sheet.write(0,col,value) for row,mem in enumerate(data,1): for col,value in enumerate(titles,0): #因为lie 是固定的,所以直接使用表头当key就可以了。 val = mem.get(value) sheet.write(row,col,val) #写内容 book.save(excel_name) print('excel写入文件') def saveRedis(data,key): host = '118.24.3.40' passwd = 'HK139bc&*' r = redis.Redis(host=host, password=passwd, db=15, decode_responses=True) # 0-15 p = r.pipeline() for d in data: p.hset(key,d.get('uin'),json.dumps(d,ensure_ascii=False)) p.execute() print('redis写入完成!') def downLoadPic(data): url = 'http://q4.qlogo.cn/g?b=qq&nk=%s&s=140' if not os.path.exists('pics'): os.mkdir('pics') for d in data: uid = d.get('uin') content = requests.get(url%uid).content with open('pics/%s.jpg'%d.get('nick'),'wb') as fw: fw.write(content) print('图片下载完成') def sendmMail(file_name): user = 'uitestp4p@163.com' passwd = 'houyafan123' # 授权码 smtp_host = 'smtp.163.com' mail = yagmail.SMTP(user=user, password=passwd, host=smtp_host) # 连上邮箱 mail.send(to=['511402865@qq.com', '2351259957@qq.com', '1219841454@qq.com'], cc=['gaomq@fadada.com', 'cindylpp2005@163.com', '460927455@qq.com'], subject='qq群信息', contents='明天多吃点,吃的饱饱的,在家睡个懒觉', attachments=[file_name] ) print('邮件发送完成!') def main(): data = getData() new_data = filterData(data) writeExecl(new_data,'szz.xls') saveRedis(new_data,'szz_stu') downLoadPic(new_data) sendmMail('szz.xls') print('done!') if __name__ == '__main__': main()
转载于:https://www.cnblogs.com/skyxiuli/p/10885419.html
获取QQ信息导入execl、存redis、下载头像相关推荐
- php通过QQ号获取QQ信息,通过openId能获取到QQ号码吗?
我在PHP里已经成功获取到QQ的openId,请问能通过openId获取到QQ号码吗?如果能,请问怎么获取? 回复讨论(解决方案) 应该是不可以,我之前也没找到这个接口 跟微信平台一样只能得到昵称头像 ...
- EXECL导入(检查服务器版本.包括NPOI方式导入.可以通过配置文件信息导入EXECL)代码记录下....
在工作中很多要把EXECL的数据取出来的情况,因此,写一个相对通用的这种功能类很有必要.我因为当时只考虑了引用MS的EXECL类的情况,所以后面加入NPOI时这个类就有点显乱了,因为已经有人在用了,只 ...
- QQ登陆,获取QQ用户信息
一.登陆QQ互联,创建网站应用or移动应用 地址:http://connect.qq.com/ 1.获取appid和app key 2.设置网站地址和回调地址,注:回调地址是用户在网页中登陆QQ后,导 ...
- php获取qq昵称2,通过QQ获取昵称资料
第一步.我们要确认模板是否有加载jquery emlog默认jquery代码如下(放入之间),如果有加载的请自动忽略此步. 第二步.找到模板文件module.php中的 在上面代码的后面加入代码 然后 ...
- (获取qq群成员信息,并下载头像,每个群保存一个文件夹)
# 1.获取到自己qq里面所有的群,并且保存每个群里面的群成员信息到mongodb里面# 下载每个群的群成员的头像# 1.抓包,抓到获取自己所有qq群的接口 requests模块 https://qu ...
- Android之QQ授权登录获取用户信息
有时候我们开发的app需要方便用户简单登录,可以让用户使用自己的qq.微信.微博登录到我们自己开发的app. 今天就在这里总结一下如何在自己的app中集成QQ授权登录获取用户信息的功能. 首先我们打开 ...
- 小程序获取用户信息 php发送数据库,qq小程序如何获取用户信息并存入数据库实例...
今天给大家带来qq小程序如何获取用户信息并存入数据库的实例,希望能够帮助到大家,让大家不仅知道如何下载qq小程序源码,还能懂得去何用,如何去改,甚至是如何去创造,如果你有好的qq小程序源码出售,可以联 ...
- Android第三方QQ登录、获取个人信息、分享实现
昨天调试了一下午终于成功 第三方QQ登录.获取个人信息,分享 QQ官方API文档写的太乱 并且很多地方没有更新 这里总结一下 方便记录和回看 实现结果图 首先进入腾讯开放平台 下载QQ的SDK 地址 ...
- python模拟登录qq获取好友信息_使用Python模拟登录QQ邮箱获取QQ好友列表
最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...
最新文章
- UNIX--stat、fstat和lstat函数
- 为什么很多人说 Java 不适合编写桌面应用?
- (转)理解MySQL——索引与优化
- 浅谈Spring注解
- Error response from daemon:###unable to delete ### (must be forced) - image is being used by stopped
- sql string转number_少用 string.Format
- 利用python语言实现帧差法,python+opencv实现帧差法
- CentOS搭建git服务器实测
- 【MATLAB】MATLAB 2017A 软件安装
- K8S coreDNS部署及简单验证
- 赋能未来的昆腾全新Scalar存储平台
- 亲测Trimble X7三维扫描仪
- 股票大作手回忆录投机感悟
- 明翰豆瓣列表V1.5(持续更新)
- 图文详解 | 万用表的使用与口诀!十足干货,不要错过!
- 几种常用的差异分析方法简介
- 组态王安装error_组态王常见问题的解决方法
- 魅族20pro参数配置 魅族20pro值得买吗
- NOIP2014P4 子矩阵 题解
- Linux系统查看FC HBA卡信息的方法
热门文章
- 超级干货 :最全算法学习资源汇总(附链接)
- 查找 对比 两个文件之间的相同部分 的俩种解决方式
- 算法导论习题,思考题题解博主录
- 人脸识别——脸部属性辅助(属性引导triplet loss)
- 学习日记——腾讯云物联网平台
- 高级UX设计引起用户共鸣的4个常用技巧
- qemu unexpectedly closed the monitor,Could not open ‘/home/aw/test/centos7.6.qcos2‘: Permission deni
- pear 安装工具包
- 自定义View、画波浪线
- crack翻译成中文_crack是什么意思中文翻译