开发者

Python采集天天基金数据掌握最新基金动向

开发者 https://www.devze.com 2022-12-07 13:29 出处:网络 作者: 松鼠爱吃饼干
目录一、分析网站二、开始代码三、运行代码,得到数据案例实现流程 思路分析:
目录
  • 一、分析网站
  • 二、开始代码
  • 三、运行代码,得到数据

案例实现流程

思路分析:

  • 需要什么数据?需要的数据在哪里?

代码实现:

  • 发送请求
  • 获取数据
  • 解析数据
  • 多页爬取
  • 保存数据

知识点:

  • requests发送请求
  • 开发者工具的使用
  • json类型数据解析
  • 正则表达式的使用

开发环境:

  • 版 本:python 3.8
  • 编辑器:pycharm 2021.2

本次目标:

Python采集天天基金数据掌握最新基金动向

Python采集天天基金数据掌握最新基金动向

一、分析网站

第一步:打开开发者工具,按F12,或者右键点击检查

第二步:刷新www.cppcns.com网站,点击搜索工具,在搜索框内输入基金代码,点击搜索

Python采集天天基金数据掌握最新基金动向

第三步:找到数据所在的真实url

Python采集天天基金数据掌握最新基金动向

二、开始代码

导入模块:

import requests  
import re
import csv

发送请求:

url = f'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=6yzf&st=desc&sd=2020-12-16&ed=2021-12-16&qdii=&tabSubtype=,,,,,&pi=1&pn=50&dx=1'
headers = {
  'Cookie': 'HAList=a-sz-300059-%u4E1C%u65B9%u8D22%u5BCC; em_hq_fls=js; qgqp_http://www.cppcns.comb_id=7b7cfe791fce1724e930884be192c85e; _adsame_fullscreen_16928=1; st_si=59966688853664; st_asi=delete; st_pvi=79368259778985; st_sp=2021-12-07%2014%3A33%3A35; st_inirUrl=https%3A%2F%2Fwww.baidu.com%2Flink; st_sn=3; st_psi=20211216201351423-112200312936-0028256540; ASP.NET_SessionId=miyivgzxegpjaya5waosifrb',
  '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 (KHTM编程客栈L, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
}
response = requests.get(url=url, headers=headers)

获取数据:

data = response.text

解析数据 筛选数据:

data_str = re.findall('\[(.*?)\]', data)[0]

转变数据类型:

tuple_data = eval(data_str)
for td in tuple_data:
  # 把td 变成列表
  td_list = td.split(',')

翻页:

分析不同页数url变化规律

Python采集天天基金数据掌握最新基金动向

for page in range(1, 193):
  print(f'-------------------------正在爬取第{page}页内容-----------------------')
  url = f'http://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=6yzf&st=desc&sd=2020-12-16&ed=2021-12-16&qdii=&tabSubtype=,,,,,&pi={page}&pn=50&dx=1'

保存数据:

with open('基金.csv', mode='a', encoSrSUoEiTULding='utf-8', newline='') as f:
  csv_write = csv.writer(f)
  csv_write.writerow(td_list)
print(td)

三、运行代码,得到数据

Python采集天天基金数据掌握最新基金动向

Python采集天天基金数据掌握最新基金动向

到此这篇关于Python采集天天基金数据掌握最新基金动向的文章SrSUoEiTUL就介绍到这了,更多相关Python采集天天基金数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号