以字典形式返回分级A数据 :param jsl_username: 集思录用户名 :param jsl_password: 集思路登录密码 :param avolume: A成交额,单位百万 :param bvolume: B成交额,单位百万 :param ptype: 溢价计算方式,price=现价,buy=买一,sell=卖一
(self, jsl_username, jsl_password, avolume=100, bvolume=100, ptype='price')
| 201 | return self.__fundb |
| 202 | |
| 203 | def fundarb(self, jsl_username, jsl_password, avolume=100, bvolume=100, ptype='price'): |
| 204 | """以字典形式返回分级A数据 |
| 205 | :param jsl_username: 集思录用户名 |
| 206 | :param jsl_password: 集思路登录密码 |
| 207 | :param avolume: A成交额,单位百万 |
| 208 | :param bvolume: B成交额,单位百万 |
| 209 | :param ptype: 溢价计算方式,price=现价,buy=买一,sell=卖一 |
| 210 | """ |
| 211 | s = requests.session() |
| 212 | headers = { |
| 213 | 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', |
| 214 | } |
| 215 | s.headers.update(headers) |
| 216 | |
| 217 | logindata = dict(return_url='http://www.jisilu.cn/', |
| 218 | user_name=jsl_username, |
| 219 | password=jsl_password, |
| 220 | net_auto_login='1', |
| 221 | _post_type='ajax') |
| 222 | |
| 223 | rep = s.post(self.__jsl_login_url, data=logindata) |
| 224 | |
| 225 | if rep.json()['err'] is not None: |
| 226 | return rep.json() |
| 227 | |
| 228 | # 添加当前的ctime |
| 229 | fundarb_url = self.__fundarb_url.format(ctime=int(time.time())) |
| 230 | |
| 231 | pdata = dict(avolume=avolume, |
| 232 | bvolume=bvolume, |
| 233 | ptype=ptype, |
| 234 | is_search='1', |
| 235 | market=['sh', 'sz'], |
| 236 | rp='50') |
| 237 | # 请求数据 |
| 238 | rep = s.post(fundarb_url, data=pdata) |
| 239 | |
| 240 | # 获取返回的json字符串 |
| 241 | fundajson = json.loads(rep.text) |
| 242 | # 格式化返回的json字符串 |
| 243 | data = self.formatfundajson(fundajson) |
| 244 | |
| 245 | self.__fundarb = data |
| 246 | return self.__fundarb |
| 247 | |
| 248 | def etfindex(self, index_id="", min_volume=0, max_discount=None, min_discount=None): |
| 249 | """ |
nothing calls this directly
no test coverage detected