申明:资料来源于网络及书本,通过理解、实践、整理成学习笔记。
import requests, configparser, os
class CSDNGetAuthorRank:
def get_author_rank(self):
__conf = configparser.ConfigParser()
if os.path.exists('../conf/csdn.ini'):
__conf.read('../conf/csdn.ini')
else:
__conf.read('conf/csdn.ini')
headers = {
__conf.get('get_author_rank_headers', 'headers'): __conf.get('get_author_rank_headers', 'headers_value')}
all_rank_list = []
for k in range(1, len(__conf.options('get_author_rank')) + 1):
url = __conf.get('get_author_rank', 'url_{}'.format(k))
res = requests.get(url, headers=headers)
res.encoding = res.apparent_encoding
all_rank_list_item = res.json()['data']['allRankListItem']
for i in all_rank_list_item:
rank_list = []
# 排名
current_rank = i['currentRank']
rank_list.append(current_rank)
# 用户名
user_name = i['userName']
rank_list.append(user_name)
# 昵称
nick_name = i['nickName']
rank_list.append(nick_name)
# 粉丝数
fans_count = str(i['fansCount'])
rank_list.append(fans_count)
# 获赞
digg_count = str(i['diggCount'])
rank_list.append(digg_count)
# 博客等级
level = str(i['level'])
rank_list.append(level)
# 综合指标
hot_rank_score = str(i['hotRankScore'])
rank_list.append(hot_rank_score)
# vip
vip = i['vip']
rank_list.append(vip)
# 在线
login_user_is_follow = i['loginUserIsFollow']
rank_list.append(login_user_is_follow)
all_rank_list.append(tuple(rank_list))
print(all_rank_list)
if os.path.exists('../results/excel/CSDN作者总榜排行前100.xls'):
csdn_author_data_xls = '../results/excel/CSDN作者总榜排行前100.xls'
else:
csdn_author_data_xls = 'results/excel/CSDN作者总榜排行前100.xls'
# 将获取的CSDN数据写入到excel文档中
output = open(csdn_author_data_xls, 'w', encoding='gbk')
output.write('排名\t用户名\t昵称\t粉丝数\t获赞\t博客等级\t综合指标\t会员\t在线\n')
for i in range(len(all_rank_list)):
for j in range(len(all_rank_list[i])):
# write函数不能写int类型的参数,所以使用str()转化
output.write(str(all_rank_list[i][j]))
# 相当于Tab一下,换一个单元格
output.write('\t')
# 写完一行立马换行
output.write('\n')
output.close()
if __name__ == '__main__':
CSDNGetAuthorRank().get_author_rank()
一个坚持学习,坚持成长,坚持分享的人,即使再不聪明,也一定会成为优秀的人!
如果看完觉得有所收获的话,记得一键三连哦,谢谢大家!
我们知道微软将会在今年给Windows10更换全新设计的UI,让Windows10的界面更加整...
首先给扑克牌中每张牌设定一个编号,下面算法实现的编号规则如下: u 红桃按照从...
一、MVC MVC模式的意思是,软件可以分成三个部分。 视图(View):用户界面。 控...
今日国内领先的智能数据服务运营商觉非科技完成近亿元A轮融资。本轮融资由和高资...
从功能测试、性能测试、界面测试、安全性测试、易用性、兼容性测试、震动测试七...
大家好,今天我们来简单的聊一聊缓存问题。什么是缓存呢?它在系统设计中是在一个...
一、简介 本设计为硬币图像识别统计装置通过数码相机获取平铺无重叠堆积的硬币的...
git工作区,暂存区,版本库之间的关系: 我们建立的项目文件夹就是工作区,在初...
前言 关于Window,你了解多少呢?看看下面这些问题你都能答上来吗。 如果你遇到这...
本文实例讲述了jsp中page指令用法。分享给大家供大家参考。具体如下: 一、JSP ...