akshare-proxy-patch 0.4.1__tar.gz → 0.4.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akshare-proxy-patch
3
- Version: 0.4.1
3
+ Version: 0.4.2
4
4
  Summary: 针对 AkShare 和 efinance 的底层补丁,自动为东财等接口注入代理认证头,从而避免 `stock_zh_a_spot_em` 等方法报错。
5
5
  Home-page: https://github.com/helloyie/akshare-proxy-patch
6
6
  Author: cheapproxy.net
@@ -43,10 +43,11 @@ pip install akshare-proxy-patch==0.4.1
43
43
 
44
44
  1. [点击前往插件官网](https://ak.cheapproxy.net/dashboard/akshare) 获取 `TOKEN`。
45
45
 
46
- 2. `akshare` 或 `efinance` 用户:在 **Python 文件顶部**添加如下代码,并替换 `你的TOKEN`。调用非常简单,不需要使用 AI 魔改。
46
+ 2. `akshare` 或 `efinance` 用户:在 **Python 文件最顶部**添加如下代码,并替换 `你的TOKEN`。调用非常简单,不需要使用 AI 魔改。
47
47
 
48
48
  ```
49
49
  # python 文件顶部添加如下代码
50
+ # 一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
50
51
  import akshare_proxy_patch
51
52
 
52
53
  akshare_proxy_patch.install_patch(
@@ -79,6 +80,7 @@ ef.stock.get_realtime_quotes()
79
80
 
80
81
  ```
81
82
  # python 文件顶部添加如下代码
83
+ # 一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
82
84
  import akshare_proxy_patch
83
85
 
84
86
  akshare_proxy_patch.install_yfinance_patch(
@@ -109,6 +111,47 @@ data = yf.download("AAPL", start="2017-01-01", end="2017-04-30")
109
111
  - 可点击 `ak` 或 `ef` 函数查看接口源码对应的 `URL`,根据封控情况细化可以降低积分消耗。
110
112
  - 如只封控 `stock_zh_a_spot_em` 这个接口,`hook_domains` 可设置为 `["https://82.push2.eastmoney.com/api/qt/clist/get"]`。
111
113
 
114
+ ## 如何灵活禁用/启用插件?
115
+
116
+ 加入如下代码后插件就会被禁用:
117
+
118
+ ```
119
+ import importlib, requests;importlib.reload(requests)
120
+ ```
121
+
122
+ 下面是插件启用 --> 禁用 --> 再次启用的例子:
123
+
124
+ ```
125
+ ##### 1. 启用插件
126
+ import akshare_proxy_patch
127
+
128
+ akshare_proxy_patch.install_patch(
129
+ "101.201.173.125",
130
+ auth_token='你的TOKEN',
131
+ retry=30,
132
+ # 封控的域名列表,可自行调整
133
+ hook_domains=[
134
+ "fund.eastmoney.com",
135
+ "push2.eastmoney.com",
136
+ "push2his.eastmoney.com",
137
+ "emweb.securities.eastmoney.com",
138
+ ],
139
+ )
140
+ import akshare as ak
141
+ df = ak.fund_etf_hist_em()
142
+
143
+ ###### 2. 禁用插件
144
+ import importlib, requests;importlib.reload(requests)
145
+
146
+ # 禁用后测试
147
+ try:
148
+ df = ak.fund_etf_hist_em()
149
+ except Exception as e:
150
+ print('插件被禁用了,这里可能会报错')
151
+
152
+ ##### 3. 再次启用插件,重复上述 1、2 的代码即可
153
+ ```
154
+
112
155
  ## 🛠️ 如何在 aktools 内集成插件?
113
156
 
114
157
  `aktools` 想要集成插件,需要新建一个 `akt.py` 替换官方的 `python -m aktools` 启动命令,下面是 `akt.py` 内容:
@@ -150,10 +193,10 @@ if __name__ == '__main__':
150
193
  ## ❓ 我没使用 akshare 或 efinance,能集成插件吗?
151
194
 
152
195
  - 如果使用 Python 语言的 `requests` 库请求接口,插件能自动 hook 住请求,正常工作。
153
- - 如果您使用其他语言或 python 的其他库,可 [手动提取代理](http://101.201.173.125:47001/api/akshare-auth?token=&version=0.2.13) 自行实现封控解除。
196
+ - 如果您使用其他语言或 python 的其他库,可 [手动提取代理](http://101.201.173.125:47001/api/akshare-auth?token=XXX&version=0.4.1) 自行实现封控解除。
154
197
 
155
198
  ## 💬 使用问题交流群
156
199
 
157
200
  如使用时遇到问题,或对插件有什么意见或建议,可进群交流:
158
201
 
159
- ![Knfv1JVAEBWyuaZc79CJKJALR7BVUgpH.webp](https://cdn.nodeimage.com/i/Knfv1JVAEBWyuaZc79CJKJALR7BVUgpH.webp)
202
+ ![5TZKxn1xMXE84yE4Df8wmWC5a6BNy7gs.webp](https://cdn.nodeimage.com/i/5TZKxn1xMXE84yE4Df8wmWC5a6BNy7gs.webp)
@@ -22,10 +22,11 @@ pip install akshare-proxy-patch==0.4.1
22
22
 
23
23
  1. [点击前往插件官网](https://ak.cheapproxy.net/dashboard/akshare) 获取 `TOKEN`。
24
24
 
25
- 2. `akshare` 或 `efinance` 用户:在 **Python 文件顶部**添加如下代码,并替换 `你的TOKEN`。调用非常简单,不需要使用 AI 魔改。
25
+ 2. `akshare` 或 `efinance` 用户:在 **Python 文件最顶部**添加如下代码,并替换 `你的TOKEN`。调用非常简单,不需要使用 AI 魔改。
26
26
 
27
27
  ```
28
28
  # python 文件顶部添加如下代码
29
+ # 一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
29
30
  import akshare_proxy_patch
30
31
 
31
32
  akshare_proxy_patch.install_patch(
@@ -58,6 +59,7 @@ ef.stock.get_realtime_quotes()
58
59
 
59
60
  ```
60
61
  # python 文件顶部添加如下代码
62
+ # 一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
61
63
  import akshare_proxy_patch
62
64
 
63
65
  akshare_proxy_patch.install_yfinance_patch(
@@ -88,6 +90,47 @@ data = yf.download("AAPL", start="2017-01-01", end="2017-04-30")
88
90
  - 可点击 `ak` 或 `ef` 函数查看接口源码对应的 `URL`,根据封控情况细化可以降低积分消耗。
89
91
  - 如只封控 `stock_zh_a_spot_em` 这个接口,`hook_domains` 可设置为 `["https://82.push2.eastmoney.com/api/qt/clist/get"]`。
90
92
 
93
+ ## 如何灵活禁用/启用插件?
94
+
95
+ 加入如下代码后插件就会被禁用:
96
+
97
+ ```
98
+ import importlib, requests;importlib.reload(requests)
99
+ ```
100
+
101
+ 下面是插件启用 --> 禁用 --> 再次启用的例子:
102
+
103
+ ```
104
+ ##### 1. 启用插件
105
+ import akshare_proxy_patch
106
+
107
+ akshare_proxy_patch.install_patch(
108
+ "101.201.173.125",
109
+ auth_token='你的TOKEN',
110
+ retry=30,
111
+ # 封控的域名列表,可自行调整
112
+ hook_domains=[
113
+ "fund.eastmoney.com",
114
+ "push2.eastmoney.com",
115
+ "push2his.eastmoney.com",
116
+ "emweb.securities.eastmoney.com",
117
+ ],
118
+ )
119
+ import akshare as ak
120
+ df = ak.fund_etf_hist_em()
121
+
122
+ ###### 2. 禁用插件
123
+ import importlib, requests;importlib.reload(requests)
124
+
125
+ # 禁用后测试
126
+ try:
127
+ df = ak.fund_etf_hist_em()
128
+ except Exception as e:
129
+ print('插件被禁用了,这里可能会报错')
130
+
131
+ ##### 3. 再次启用插件,重复上述 1、2 的代码即可
132
+ ```
133
+
91
134
  ## 🛠️ 如何在 aktools 内集成插件?
92
135
 
93
136
  `aktools` 想要集成插件,需要新建一个 `akt.py` 替换官方的 `python -m aktools` 启动命令,下面是 `akt.py` 内容:
@@ -129,10 +172,10 @@ if __name__ == '__main__':
129
172
  ## ❓ 我没使用 akshare 或 efinance,能集成插件吗?
130
173
 
131
174
  - 如果使用 Python 语言的 `requests` 库请求接口,插件能自动 hook 住请求,正常工作。
132
- - 如果您使用其他语言或 python 的其他库,可 [手动提取代理](http://101.201.173.125:47001/api/akshare-auth?token=&version=0.2.13) 自行实现封控解除。
175
+ - 如果您使用其他语言或 python 的其他库,可 [手动提取代理](http://101.201.173.125:47001/api/akshare-auth?token=XXX&version=0.4.1) 自行实现封控解除。
133
176
 
134
177
  ## 💬 使用问题交流群
135
178
 
136
179
  如使用时遇到问题,或对插件有什么意见或建议,可进群交流:
137
180
 
138
- ![Knfv1JVAEBWyuaZc79CJKJALR7BVUgpH.webp](https://cdn.nodeimage.com/i/Knfv1JVAEBWyuaZc79CJKJALR7BVUgpH.webp)
181
+ ![5TZKxn1xMXE84yE4Df8wmWC5a6BNy7gs.webp](https://cdn.nodeimage.com/i/5TZKxn1xMXE84yE4Df8wmWC5a6BNy7gs.webp)
@@ -13,7 +13,7 @@ except ImportError:
13
13
 
14
14
  import requests as std_requests
15
15
 
16
- __version__ = "0.4.1"
16
+ __version__ = "0.4.2"
17
17
 
18
18
  # 授权接口固定使用标准 requests,避免干扰
19
19
  _auth_session = std_requests.Session()
@@ -69,7 +69,12 @@ default_hook_domains = [
69
69
 
70
70
 
71
71
  def install_patch(
72
- auth_ip, auth_token="", retry=30, hook_domains=default_hook_domains, timeout=5
72
+ auth_ip,
73
+ auth_token="",
74
+ retry=30,
75
+ hook_domains=default_hook_domains,
76
+ timeout=5,
77
+ cookie="",
73
78
  ):
74
79
  # --- 核心改进:备份原始 Session 避开递归死循环 ---
75
80
  if not hasattr(std_requests, "_OriginalSession"):
@@ -106,7 +111,7 @@ def install_patch(
106
111
  continue
107
112
 
108
113
  headers = kwargs.get("headers") or {}
109
- headers["User-Agent"] = auth_res["ua"]
114
+ headers["Cookie"] = cookie or auth_res.get("cookie", "")
110
115
  kwargs["headers"] = headers
111
116
  kwargs["proxies"] = {
112
117
  "http": auth_res["proxy"],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: akshare-proxy-patch
3
- Version: 0.4.1
3
+ Version: 0.4.2
4
4
  Summary: 针对 AkShare 和 efinance 的底层补丁,自动为东财等接口注入代理认证头,从而避免 `stock_zh_a_spot_em` 等方法报错。
5
5
  Home-page: https://github.com/helloyie/akshare-proxy-patch
6
6
  Author: cheapproxy.net
@@ -43,10 +43,11 @@ pip install akshare-proxy-patch==0.4.1
43
43
 
44
44
  1. [点击前往插件官网](https://ak.cheapproxy.net/dashboard/akshare) 获取 `TOKEN`。
45
45
 
46
- 2. `akshare` 或 `efinance` 用户:在 **Python 文件顶部**添加如下代码,并替换 `你的TOKEN`。调用非常简单,不需要使用 AI 魔改。
46
+ 2. `akshare` 或 `efinance` 用户:在 **Python 文件最顶部**添加如下代码,并替换 `你的TOKEN`。调用非常简单,不需要使用 AI 魔改。
47
47
 
48
48
  ```
49
49
  # python 文件顶部添加如下代码
50
+ # 一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
50
51
  import akshare_proxy_patch
51
52
 
52
53
  akshare_proxy_patch.install_patch(
@@ -79,6 +80,7 @@ ef.stock.get_realtime_quotes()
79
80
 
80
81
  ```
81
82
  # python 文件顶部添加如下代码
83
+ # 一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
82
84
  import akshare_proxy_patch
83
85
 
84
86
  akshare_proxy_patch.install_yfinance_patch(
@@ -109,6 +111,47 @@ data = yf.download("AAPL", start="2017-01-01", end="2017-04-30")
109
111
  - 可点击 `ak` 或 `ef` 函数查看接口源码对应的 `URL`,根据封控情况细化可以降低积分消耗。
110
112
  - 如只封控 `stock_zh_a_spot_em` 这个接口,`hook_domains` 可设置为 `["https://82.push2.eastmoney.com/api/qt/clist/get"]`。
111
113
 
114
+ ## 如何灵活禁用/启用插件?
115
+
116
+ 加入如下代码后插件就会被禁用:
117
+
118
+ ```
119
+ import importlib, requests;importlib.reload(requests)
120
+ ```
121
+
122
+ 下面是插件启用 --> 禁用 --> 再次启用的例子:
123
+
124
+ ```
125
+ ##### 1. 启用插件
126
+ import akshare_proxy_patch
127
+
128
+ akshare_proxy_patch.install_patch(
129
+ "101.201.173.125",
130
+ auth_token='你的TOKEN',
131
+ retry=30,
132
+ # 封控的域名列表,可自行调整
133
+ hook_domains=[
134
+ "fund.eastmoney.com",
135
+ "push2.eastmoney.com",
136
+ "push2his.eastmoney.com",
137
+ "emweb.securities.eastmoney.com",
138
+ ],
139
+ )
140
+ import akshare as ak
141
+ df = ak.fund_etf_hist_em()
142
+
143
+ ###### 2. 禁用插件
144
+ import importlib, requests;importlib.reload(requests)
145
+
146
+ # 禁用后测试
147
+ try:
148
+ df = ak.fund_etf_hist_em()
149
+ except Exception as e:
150
+ print('插件被禁用了,这里可能会报错')
151
+
152
+ ##### 3. 再次启用插件,重复上述 1、2 的代码即可
153
+ ```
154
+
112
155
  ## 🛠️ 如何在 aktools 内集成插件?
113
156
 
114
157
  `aktools` 想要集成插件,需要新建一个 `akt.py` 替换官方的 `python -m aktools` 启动命令,下面是 `akt.py` 内容:
@@ -150,10 +193,10 @@ if __name__ == '__main__':
150
193
  ## ❓ 我没使用 akshare 或 efinance,能集成插件吗?
151
194
 
152
195
  - 如果使用 Python 语言的 `requests` 库请求接口,插件能自动 hook 住请求,正常工作。
153
- - 如果您使用其他语言或 python 的其他库,可 [手动提取代理](http://101.201.173.125:47001/api/akshare-auth?token=&version=0.2.13) 自行实现封控解除。
196
+ - 如果您使用其他语言或 python 的其他库,可 [手动提取代理](http://101.201.173.125:47001/api/akshare-auth?token=XXX&version=0.4.1) 自行实现封控解除。
154
197
 
155
198
  ## 💬 使用问题交流群
156
199
 
157
200
  如使用时遇到问题,或对插件有什么意见或建议,可进群交流:
158
201
 
159
- ![Knfv1JVAEBWyuaZc79CJKJALR7BVUgpH.webp](https://cdn.nodeimage.com/i/Knfv1JVAEBWyuaZc79CJKJALR7BVUgpH.webp)
202
+ ![5TZKxn1xMXE84yE4Df8wmWC5a6BNy7gs.webp](https://cdn.nodeimage.com/i/5TZKxn1xMXE84yE4Df8wmWC5a6BNy7gs.webp)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "akshare-proxy-patch" # 包名,需在 PyPI 唯一
7
- version = "0.4.1"
7
+ version = "0.4.2"
8
8
  authors = [
9
9
  { name="cheapproxy", email="emezxyj1@gmail.com" },
10
10
  ]
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="akshare-proxy-patch", # 包名,用户 pip install 时的名称
8
- version="0.4.1",
8
+ version="0.4.2",
9
9
  author="cheapproxy.net",
10
10
  author_email="emezxyj1@gmail.com",
11
11
  description="AkShare 和 efinance 报错全局Hook",