申明:资料来源于网络及书本,通过理解、实践、整理成学习笔记。
完整代码
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()
运行结果
爬虫实战2:爬取CSDN作者总榜排名Top100保存到excel表
爬虫实战3:爬取天天基金的7663个基金排名保存到excel表
一个坚持学习,坚持成长,坚持分享的人,即使再不聪明,也一定会成为优秀的人!
如果看完觉得有所收获的话,记得一键三连哦,谢谢大家!