爬取天天基金的7663个基金排名保存到excel表

申明:资料来源于网络及书本,通过理解、实践、整理成学习笔记。

文章目录

  • 完整代码
  • 运行结果截图

爬取天天基金的7663个基金排名保存到excel表_第1张图片

完整代码

import requests, configparser, os


class TT_fund_get_fund_rank:
    def get_fund_rank(self):
        __conf = configparser.ConfigParser()
        if os.path.exists('../conf/TT_fund.ini'):
            __conf.read('../conf/TT_fund.ini')
        else:
            __conf.read('conf/TT_fund.ini')
        fund_rank_url = __conf.get('get_fund_rank', 'fund_rank_url')
        headers = {
     
            __conf.get('get_fund_rank_headers', 'headers'): __conf.get('get_fund_rank_headers', 'headers_value')
        }
        res = requests.get(fund_rank_url, headers=headers)
        res.encoding = res.apparent_encoding
        # 处理数据
        fund_rank_list_1 = res.text[res.text.index('"'):res.text.index(']'):1].split('",')
        fund_rank_list_2 = []
        fund_rank_list_3 = []
        for i in fund_rank_list_1:
            fund_rank_list_2.append(i.split('"')[1])
        print(fund_rank_list_2)
        for i in fund_rank_list_2:
            fund_rank_list_3.append(i.split(','))
        # 获取xls文件的位置
        if os.path.exists('../results/excel/天天基金排行.xls'):
            TT_fund_rank_data_xls = '../results/excel/天天基金排行.xls'
        else:
            TT_fund_rank_data_xls = 'results/excel/天天基金排行.xls'
        # 将获取的基金排行数据写入到excel文档中
        output = open(TT_fund_rank_data_xls, 'w', encoding='gbk')
        output.write(
            '基金代码\t基金名称\t基金简称\t日期\t单位净值\t累计净值\t日增长率\t近1周\t近1月\t近3月\t近6月\t近1年\t近2年\t近3年\t今年来\t成立来\t成立日\t/\t自定义\t原手续费\t现手续费\t手续费折扣\t/\t/\t/\n')
        for i in range(len(fund_rank_list_3)):
            for j in range(len(fund_rank_list_3[i])):
                if str(fund_rank_list_3[i][j]) == '':
                    fund_rank_list_3[i][j] = '/'
                # write函数不能写int类型的参数,所以使用str()转化
                output.write(str(fund_rank_list_3[i][j]))
                # 相当于Tab一下,换一个单元格
                output.write('\t')
                # 写完一行立马换行
            output.write('\n')
        output.close()


if __name__ == '__main__':
    TT_fund_get_fund_rank().get_fund_rank()

运行结果截图

爬取天天基金的7663个基金排名保存到excel表_第2张图片
推荐一:爬取天天基金的7663个基金排名保存到excel表

推荐二:爬取哔哩哔哩主播的头像以昵称命名保存到本地文件

推荐三:爬取CSDN作者总榜排名保存到excel表

一个坚持学习,坚持成长,坚持分享的人,即使再不聪明,也一定会成为优秀的人!

如果看完觉得有所收获的话,记得一键三连哦,谢谢大家!

你可能感兴趣的:(Selenium,Web自动化,python,request,os,爬虫,大数据)