akfamily / akshare

AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库
https://akshare.akfamily.xyz
MIT License
9.36k stars 1.89k forks source link

AkShare 接口问题报告:stock_em_jgdy.py获取的数据最新为2020年5月份。无法获得最新数据。 #759

Closed flybobdog closed 3 years ago

flybobdog commented 3 years ago

遇到任何问题,请先确认您的 AkShare 版本是最新的

pip install akshare --upgrade  # Python 版本需要大于 3.7

描述遇到的问题

  1. 操作系统版本
  2. Python 版本
  3. AkShare 版本
  4. 接口的名称和代码
  5. 接口报错的截图或代码
  6. 期望获得的正确结果 从东方财富的网站看,新的数据接口网址为: page1:'http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?js=datatable3189115&tkn=eastmoney&secuCode=&sortfield=0&sortdirec=1&pageNum=1&pageSize=50&cfg=jgdyhz&_=1605839001708' page2:'http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?js=datatable7125861&tkn=eastmoney&secuCode=&sortfield=0&sortdirec=1&pageNum=2&pageSize=50&cfg=jgdyhz&p=2&pageNo=2&_=1605839001709' page3:'http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?js=datatable5840718&tkn=eastmoney&secuCode=&sortfield=0&sortdirec=1&pageNum=3&pageSize=50&cfg=jgdyhz&p=3&pageNo=3&_=1605839001710' 我根据stock_em_jgdy_detail()改写了stock_em_jgdy_tj() def stock_em_jgdy_tj(): """ 东方财富网-数据中心-特色数据-机构调研-机构调研统计 http://data.eastmoney.com/jgdy/tj.html :return: pandas.DataFrame """ url = "http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?" params = { "js": "datatable3189115", "tkn": "eastmoney", "secuCode": "", "dateTime": "", "sortfield": "0", "sortdirec": "1", "pageNum": "1", "pageSize": "5000", "cfg": "jgdymx", "_": "1605839001708", } r = requests.get(url, params=params) data_json = json.loads(r.text[r.text.find("(")+1:-1]) temp_df = pd.DataFrame([item.split("|") for item in data_json["Data"][0]["Data"]]) temp_df=temp_df.loc[:,0:18] temp_df.columns = data_json["Data"][0]["FieldName"].split(",") return temp_df
albertandking commented 3 years ago

遇到任何问题,请先确认您的 AkShare 版本是最新的

pip install akshare --upgrade  # Python 版本需要大于 3.7

描述遇到的问题

  1. 操作系统版本
  2. Python 版本
  3. AkShare 版本
  4. 接口的名称和代码
  5. 接口报错的截图或代码
  6. 期望获得的正确结果 从东方财富的网站看,新的数据接口网址为: page1:'http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?js=datatable3189115&tkn=eastmoney&secuCode=&sortfield=0&sortdirec=1&pageNum=1&pageSize=50&cfg=jgdyhz&_=1605839001708' page2:'http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?js=datatable7125861&tkn=eastmoney&secuCode=&sortfield=0&sortdirec=1&pageNum=2&pageSize=50&cfg=jgdyhz&p=2&pageNo=2&_=1605839001709' page3:'http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?js=datatable5840718&tkn=eastmoney&secuCode=&sortfield=0&sortdirec=1&pageNum=3&pageSize=50&cfg=jgdyhz&p=3&pageNo=3&_=1605839001710' 我根据stock_em_jgdy_detail()改写了stock_em_jgdy_tj() def stock_em_jgdy_tj(): """ 东方财富网-数据中心-特色数据-机构调研-机构调研统计 http://data.eastmoney.com/jgdy/tj.html :return: pandas.DataFrame """ url = "http://datainterface3.eastmoney.com/EM_DataCenter_V3/api/JGDYHZ/GetJGDYMX?" params = { "js": "datatable3189115", "tkn": "eastmoney", "secuCode": "", "dateTime": "", "sortfield": "0", "sortdirec": "1", "pageNum": "1", "pageSize": "5000", "cfg": "jgdymx", "_": "1605839001708", } r = requests.get(url, params=params) data_json = json.loads(r.text[r.text.find("(")+1:-1]) temp_df = pd.DataFrame([item.split("|") for item in data_json["Data"][0]["Data"]]) temp_df=temp_df.loc[:,0:18] temp_df.columns = data_json["Data"][0]["FieldName"].split(",") return temp_df

请升级到 AkShare 0.7.20,已修复