005 利用fidder抓取app的api,获得股票数据

本文介绍了如何下载安装Fiddler,配置电脑和手机使其能捕获APP的网络请求。接着,通过Fiddler获取到同花顺APP的龙虎榜数据URL,并在浏览器中利用开发者工具提取数据。最后,使用Python的requests和BeautifulSoup库抓取并解析HTML表格数据,将其整理成字典并保存为CSV文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载安装fidder

百度搜索fidder直接下载,按提示安装即可。

二、配置fidder

1. 打开fidder,选择tools——options。

2. 选择HTTPS选项卡,勾选前三项,然后点击右侧【actions】,选择【trust root certificate】,安装许可证书。

3. 选择connections选项卡,勾选【allow remote...】,并将代理端口设为8888,

 4. 点击确定,重启fidder。

三、配置手机。

1. 打开手机【wlan】选项,将其中的【代理】选项设为【手动】,其中主机名设为电脑的ip,端口设为fidder刚才设的【8888】。其他的wifi密码正常设。

2. 在手机浏览器中,输入电脑ip+端口。比如:192.168.1.107:8888。拉到页面底部,点击【fidderroot certificate 】下载安全证书。下载完后点击下载的文件进行安装。

 3. 打开同花顺app,行情——龙虎榜。此时在fidder可以看到同花顺和服务器的通信包。选择fidder右侧的inspector——raw,复制其中get对应的url。

 4. 在浏览器中输入url,点击F12打开浏览器的代码,可得到龙虎榜数据。通过改变url中的日期,可获得其他日期的数据。

三、用python抓取解析数据。

1. 读取网页html表格数据。

import requests
import json
import simplejson
import xmltodict

# header需要根据实际情况自己调整。
headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'en-US,en;q=0.9',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
    'Cookie': 'v=Axee6EvROJqMkLwWYjreUUQHr4BkXOu-xTBvMmlEM-ZNmDn-cSx7DtUA_4N6',
    'Host': 'data.hexin.cn',
    'Referer': 'https://data.hexin.cn/interface/lhStocks/cate/yxyz/field/jmre/sort/desc/ajax/1/date/2023-02-17/%20HHTTP/1.1',
    'sec-ch-ua': '"Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Linux"',
    'Sec-Fetch-Dest': 'document',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-User': '?1',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
}
url = 'https://data.hexin.cn/interface/lhStocks/cate/yxyz/field/jmre/sort/desc/ajax/1/date/2023-02-17/%20HHTTP/1.1'

r = requests.get(url, headers=headers)
print(r.status_code)

运行结果如下:

 2. 用beautifulsoup解析html数据。

from bs4 import BeautifulSoup
soup= BeautifulSoup(r.text,"html.parser")
print(soup)

运行结果如下:

3.  提起html中的文本内容。

a = soup.text.split()
print(a)

运行结果如下:

4. 将数据整理到字典并保存。

from collections import defaultdict
stock_dict = defaultdict()
stock_dict['名称'] = a[4::5]
stock_dict['代码'] = a[5::5]
stock_dict['收盘价'] = a[6::5]
stock_dict['净买入'] = a[7::5]
stock_dict['涨跌幅'] = a[8::5]

import pandas as pd
res = pd.DataFrame(stock_dict)
print(res)
res.to_csv('test.csv')

 运行结果如下:

### 使用 Fiddler 抓取微信小程序在 PC 端的网络请求 #### 准备工作 为了成功抓取微信小程序在网络中的通信数据,需先确认已安装并配置好 Fiddler 工具。确保该工具处于最新版本有助于减少兼容性问题。 #### 配置 Fiddler 捕获 HTTPS 流量 由于大部分现代应用都采用加密传输协议 (HTTPS),因此需要设置 Fiddler 来解密这些流量: 1. 打开 Fiddler 后进入 `Tools` -> `Options...` 菜单; 2. 切换到 `HTTPS` 选项卡,并勾选 `Decrypt HTTPS traffic`; 3. 安装由 Fiddler 自动生成的安全证书以便能够拦截 SSL/TLS 加密连接[^1]; #### 设置 Windows 应用程序代理指向本地 Fiddler 实例 为了让微信客户端发送的数据流经 Fiddler 进行监控分析,必须调整系统的 HTTP(S) 请求路由规则使它们经过此中间件处理: - 对于某些特定的应用场景可能还需要额外修改目标应用程序本身的网络参数来指定其使用的代理服务器地址为本机监听端口(通常是127.0.0.1:8888),这一步骤取决于具体环境下的需求以及所涉及软件的行为特性[^2]; #### 处理特殊情况:针对不同版本的小程序进程名称变化做出相应适配措施 当遇到像 "WeChatApp.exe" 更名为 "WeChatAppEx.exe" 的情况时,则应关注官方更新日志或社区反馈了解是否有新的安全机制引入影响到了原有的抓包流程,并据此作出适当调整以维持功能的有效性. #### 开始捕获会话 完成上述准备工作之后,在启动待测试的小程序前务必保证 Fiddler 正常运行着并且已经设定了正确的过滤条件用于筛选出感兴趣的事件记录项。此时再开启想要监测的对象即可看到实时产生的交互详情被展示出来供进一步研究使用. ```bash # 如果需要验证是否能正确显示微信小程序发出的HTTP/HTTPS请求,请尝试访问几个页面或者执行一些操作触发API调用。 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值