前言嗨喽!大家好呀,这里是魔王~ 知识点:requests发送请求 开发者工具的使用 json类型数据解析 正则表达式的使用
模块安装:按住键盘 win + r, 输入cmd回车 打开命令行窗口, 在里面输入 pip install 模块名 开发环境:版 本:python 3.8 编辑器:pycharm 2021.2
代码实现发送请求 获取数据 解析数据 保存数据
代码import requests import re
# 伪装 headers = { 'Cookie': 'qgqp_b_id=7b7cfe791fce1724e930884be192c85e; HAList=a-sz-300059-%u4E1C%u65B9%u8D22%u5BCC%2Cty-100-HSI-%u6052%u751F%u6307%u6570%2Cty-1-000001-%u4E0A%u8BC1%u6307%u6570; em_hq_fls=js; intellpositionL=1522.39px; intellpositionT=3367px; ASP.NET_SessionId=qevhbz22qxoqxpbwclsxzctm; _adsame_fullscreen_16928=1; st_si=42277447983105; st_asi=delete; st_pvi=25714906615245; st_sp=2022-02-08%2022%3A12%3A10; st_inirUrl=https%3A%2F%2Fwww.baidu.com%2Flink; st_sn=2; st_psi=20220407142006395-112200312936-7700776192', 'Host': 'fund.eastmoney.com', 'Referer': 'https://fund.eastmoney.com/data/fundranking.html', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36', } with open('股票.csv', mode='a', encoding='utf-8') as f: f.write('基金代码,基金简称,基金英文,日期,单位净值,累计净值,日增长率,近一周,近一个月,近三个月,近六个月,近一年,近两年,近三年,近年来,成立来,上市日期,,,,手续费,,') f.write('\n') # 1. 发送请求 for page in range(1, 214): url = f'https://fund.eastmoney.com/data/rankhandler.aspx?op=ph&dt=kf&ft=all&rs=&gs=0&sc=6yzf&st=desc&sd=2021-04-07&ed=2022-04-07&qdii=&tabSubtype=,,,,,&pi={page}&pn=50&dx=1&v=0.20942755772252863' response = requests.get(url=url, headers=headers) # <Response [200]>: 请求成功 # 2. 获取数据 data = response.text # 3. 解析数据 datas = re.findall('datas:\[(.*)\],', data)[0] # eval(): 字符串去除引号 '{}','[]', '字符串' 元组 data_tuple = eval(datas) for tuple_ in data_tuple: print(tuple_) # 4. 保存数据 with open('股票.csv', mode='a', encoding='utf-8') as f: f.write(tuple_) f.write('\n')
![](http://image109.360doc.com/DownloadImg/2022/04/1114/242797816_1_20220411024141958.png)
视频教程https://www.bilibili.com/video/BV1D3411H7Ga?share_source=copy_web 尾语好了,我的这篇文章写到这里就结束啦! 有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง ·_·)ง 喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!
|