获取基金排行数据(Python)

  • 目录
    • 一、分析网站
      • 1. 确定要获取的数据
        • 点击<基金排行>
        • 此页数据是要获取的
      • 2. 确定数据来源
        • 打开网页开发者工具
          • 点击 < Network >
          • 刷新网页
        • 利用网页的分页功能筛选网络资源
          • 关闭开发者工具并重新打开
          • 点击 < 2 >
        • 得到数据来源
          • 点击< 3 >
        • 确定请求多页数据的api
      • 3. 示例代码
      • 4. 执行结果

目录

一、分析网站

1. 确定要获取的数据

 # URLhttps://fund.eastmoney.com/

点击<基金排行>

此页数据是要获取的

2. 确定数据来源

打开网页开发者工具

 # 快捷键F12 或 Ctrl + Shift + i

点击 < Network >
 这里将看到数据的来源

刷新网页
 # 快捷键F5

这里可以看到刷新网页后,获取到的网络资源
多而杂,无法找到我们想要的数据的api

利用网页的分页功能筛选网络资源

关闭开发者工具并重新打开
# 快捷键
F12 F12

Network部分是空白的
点击 < 2 >
打开第二页数据

这个是数据来源的api
点击查看详细信息

可以看到有我们需要的请求数据的URL和请求方式
还有请求头部

得到数据来源

Request URL:     http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=1nzf&st=desc&sd=2021-11-29&ed=2022-11-29&qdii=&tabSubtype=,,,,,&pi=2&pn=50&dx=1&v=0.6643416321523266
Request Method: GETAccept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive
Cookie: ASP.NET_SessionId=i03nvep4hyyah3hicksk5u2p; st_si=89173127450265; st_asi=delete; _adsame_fullscreen_14694=1; qgqp_b_id=f8e698e18501714515c96820b888266d; st_pvi=58560174179267; st_sp=2022-11-29%2023%3A50%3A25; st_inirUrl=https%3A%2F%2Fwww.1234567.com.cn%2F; st_sn=8; st_psi=20221130003920296-112200312936-2858370981
Host: fund.eastmoney.com
Referer: http://fund.eastmoney.com/data/fundranking.html
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
因为数据是分页的,还需要知道其他页数据的获取方式
点击< 3 >

# 文本在线比较
https://www.osgeo.cn/app/sb134

可以看到url中有两个参数的值不一样 pi 和 v
v参数可以忽略
pi的值 第2页是2, 第3页是3

确定请求多页数据的api

# {page} 是个参数,代表第page页数据
http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=1nzf&st=desc&sd=2021-11-29&ed=2022-11-29&qdii=&tabSubtype=,,,,,&pi={page}&pn=50&dx=1

3. 示例代码

"""
[课  题]: Python爬取天天基金股票信息[知识点]:requests发送请求开发者工具的使用json类型数据解析正则表达式的使用[模块安装]: 按住键盘 win + r, 输入cmd回车 打开命令行窗口, 在里面输入 pip install 模块名或 打开终端 输入命令: pip install 模块名eg: pip install requests[开发环境]:版  本:python  3.9编辑器:pycharm 2022.1.4"""
import requests     # 发送请求 第三模块
import re
import csv# 伪装: 请求头
# re 替换
# 1. 选中我们要替换内容
# 2. 按住键盘 ctrl + r
# 3. 在第一个框中 填写 (.*?): (.*)
# 4. 在第二个框中 填写 "$1": "$2",
# 5. 点亮星星 全部替换
headers = {"Accept": "*/*","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9","Connection": "keep-alive","Cookie": "ASP.NET_SessionId=i03nvep4hyyah3hicksk5u2p; st_si=89173127450265; st_asi=delete; _adsame_fullscreen_14694=1; qgqp_b_id=f8e698e18501714515c96820b888266d; st_pvi=58560174179267; st_sp=2022-11-29%2023%3A50%3A25; st_inirUrl=https%3A%2F%2Fwww.1234567.com.cn%2F; st_sn=8; st_psi=20221130003920296-112200312936-2858370981","Host": "fund.eastmoney.com","Referer": "http://fund.eastmoney.com/data/fundranking.html","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36}"
}# 爬取1~5页的数据
for page in range(1, 6):print(f'-------------------------正在爬取第{page}页内容-----------------------')# 后台实现接口逻辑有问题可能会导致我们爬取数据有很多重复值url = f'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=1nzf&st=desc&sd=2021-11-29&ed=2022-11-29&qdii=&tabSubtype=,,,,,&pi={page}&pn=50&dx=1'# 1. 发送请求# <Response [200]>: 发送请求成功结果response = requests.get(url=url, headers=headers)# 2. 获取数据data = response.text# 3. 解析数据 筛选数据 re# 第一个是我们正则表达式语法  第二个就是我们需要在哪里匹配data_str = re.findall('\[(.*?)\]', data)[0]# 4. 保存数据# 表格当中# 数据转型# 列表 元组# eval 可以帮助我们把字符串转变为 列表/字典/元组/整数类型/boolean/浮点类型...tuple_data = eval(data_str)for td in tuple_data:# 把td 变成列表td_list = td.split(',')# 4. 保存数据到 data.csv 中, 会在当前文件夹下自动新建data.csv,mode='a'属性决定如果文件存在则继续写入数据with open('data.csv', mode='a', encoding='utf-8', newline='') as f:csv_write = csv.writer(f)csv_write.writerow(td_list)print(td)

4. 执行结果


4.4 基金排行数据(Python)相关推荐

  1. Python 爬虫 基金排行 基金评级 基金经理 等核心基金数据爬虫

    3.业绩排行        4.基金评级        5.基金经理        6.基金公司 @@@@关于这几部分数据下面用两种方案进行详细解析,先不讲解 直接上代码 有需要的朋友可以详细聊聊 第 ...

  2. python爬虫爬取雪球网_Python爬虫爬取天天基金网基金排行

    本文以天天基金网为例,爬取网站上的基金排行并存储在本地记事本中和MongoDB数据库中. 打开网页我们看到每页最多显示50个基金信息,在源代码中,我们发现其他页码没有跳转链接.但是我们选择右下角不分页 ...

  3. 集思录REITs基金数据python爬取写入EXCEL表

    本文主要讲述REITs基金相关内容, 封闭基金数据获取参见: 集思录封闭基金数据python爬取写入excel表 国债数据获取参见: 和讯网债券数据Python爬取保存成CSV文件之一 1.什么是RE ...

  4. 集思录封闭基金数据python爬取写入excel表

    本文是在之前文章"集思录REITs基金数据python爬取写入EXCEL表"的基础上写成的. 封闭式基金,是相对于开放式基金而言的,是指基金规模在发行前已确定,在发行完毕后和规定的 ...

  5. Python获取2021 获取全部基金信息 天天基金网 东方财富 基金排行

    Python获取 2021获取全部基金信息 天天基金网 东方财富 基金排行 通过URL获取基金信息,然后切割成list的list,然后转换成表 def get_fund_data():"&q ...

  6. python b站 排行_Python 爬取B站 视频热度排行数据

    时间:2019-03-07 概述:抓取数据 爬虫 采集 Python 爬取bilibili站 视频热度排行视频数据,有文件为 bilibili.py,只需输入一个大模块名,如游戏模块名为'game', ...

  7. 财富自由之python爬取天天基金排行数据,保存xls文件,慢慢分析

    1.前言 闲来无聊,最近迷恋上玩基金,真的是又菜瘾有大,刚好有朋友是做数据分析相关的,他想用excel分析基金历史数据,于是乎,让我去爬取天天基金上的排行数据. 2.xls文件结果展示 爬取了全部.股 ...

  8. 隔行如隔山,几行代码教你简单爬取天天基金网基金排行

    ready? 学习永无止境,秃头警告! 随着从入门到入狱,静态网页已经满足不了哥的需求,自己太作死了! 所以,决定用selenium获取所有页数,经历过一天的偷摸爬滚终究成就以下源码! 步骤: 分析静 ...

  9. 程序员牛逼的摸鱼神器来了?上班也可以在看股票、基金实时数据~

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 2 分钟. 来自:https://github.com/giscafer/leek-fund 据说,今年股市.基金市场多了很多 ...

最新文章

  1. PCL中点云的超体素(SuperVoxel)
  2. 用Python分析《红楼梦》:见证了贾府的兴衰,你是否还能“笑道”世事无常
  3. MQTT:物联网的神经系统
  4. android平板开发板,利用开源开发板自制的平板电脑 | 雷锋网
  5. 如何定位和处理手机游戏内存泄露
  6. 五大板块(4)——链表
  7. [virtualenvwrapper] 命令小结
  8. 组队瓜分百万奖金池,资深算法工程师带你挑战飞桨论文复现赛!
  9. phoenix-sqlline 连接失败
  10. native vlan(本征vlan)----vlan 1 与一般vlan的区别详细解答、tag字段简介、二层异vlan通信、双vlan tag跳跃攻击(附图,建议电脑观看)
  11. 使用sp_executesql存储过程执行动态SQL查询
  12. OSPF定义的5种区域类型:标准区域、主干区域、存根区域、完全存根区域
  13. 七类***各有“黑招”
  14. micropython ide 8266_老外开发的MicroPython IDE,可用于开发ESP8266
  15. 淘口令api权限申请,赚取佣金第一步
  16. 什么是移动IP?简述其工作过程
  17. 《微信公众平台开发最佳实践》——2.1 新浪SAE应用
  18. 浮点数除0和余0、定义
  19. 给二维码加密,防止内部资料外泄
  20. 微信域名防封跳转系统-微信拦截检测技术

热门文章

  1. TimeStamp日期类型转化成json
  2. 树莓派使用360wifi2实现无线上网
  3. Java爬虫初学——爬取BT电影天堂电影的磁力链接并筛选下载
  4. 2012杰出版主获奖感言
  5. 别把激励员工变成收买员工
  6. CenOs安装jdk
  7. EBC金融外汇原油专题|权威解读「七大因素主导全球原油价格走势」
  8. coures包下载和安装 可解决报错ImportError: No module named '_curses'
  9. 深度解析,抖音玩具测评短视频内容制作流程,步骤技巧分享
  10. 「 生活太重要了,不能太过严肃 」:生命游戏之父、最神奇的数学家John Conway...