|
|
@@ -1,12 +1,10 @@
|
|
|
import json
|
|
|
-import time
|
|
|
|
|
|
import Utils
|
|
|
-from time import sleep
|
|
|
-from http.client import RemoteDisconnected
|
|
|
from Config import mysql_pool, conn, headers, page, size
|
|
|
|
|
|
-print("开始时间(精确到毫秒):", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), time.time() * 1000)
|
|
|
+start_time = Utils.data_time()
|
|
|
+print("开始时间(精确到毫秒)[私募基金管理人]:", start_time)
|
|
|
|
|
|
|
|
|
# 因为这里数据一条人员信息amac_member_user中包含了对应的多个证书,所以需要先循环把证书拿出来
|
|
|
@@ -19,29 +17,34 @@ def savetodb(data):
|
|
|
# 构建人员信息记录
|
|
|
this_data = {
|
|
|
'id': item.get("id"),
|
|
|
- 'manager_id': "",
|
|
|
- 'fund_no': item.get("fundNo", ""),
|
|
|
- 'fund_name': item.get("fundName"),
|
|
|
'manager_name': item.get("managerName"),
|
|
|
- 'manager_type': item.get("managerType"),
|
|
|
- 'working_state': item.get("workingState"),
|
|
|
- 'put_on_record_date': item.get("putOnRecordDate"),
|
|
|
- 'last_quarter_update': item.get("lastQuarterUpdate"),
|
|
|
- 'is_depute_manage': item.get("isDeputeManage"),
|
|
|
- 'url': item.get("url"),
|
|
|
+ 'artificial_person_name': item.get("artificialPersonName"),
|
|
|
+ 'register_no': item.get("registerNo"),
|
|
|
'establish_date': item.get("establishDate"),
|
|
|
- 'manager_url': item.get("managerUrl"),
|
|
|
- 'mandator_name': item.get("mandatorName")
|
|
|
+ 'manager_has_product': item.get("managerHasProduct"),
|
|
|
+ 'url': item.get("url"),
|
|
|
+ 'register_date': item.get("registerDate"),
|
|
|
+ 'register_address': item.get("registerAddress"),
|
|
|
+ 'register_province': item.get("registerProvince"),
|
|
|
+ 'register_city': item.get("registerCity"),
|
|
|
+ 'reg_adr_agg': item.get("regAdrAgg"),
|
|
|
+ 'office_adr_agg': item.get("officeAdrAgg"),
|
|
|
+ 'fund_count': item.get("fundCount"),
|
|
|
+ 'paid_in_capital': item.get("paidInCapital"),
|
|
|
+ 'subscribed_capital': item.get("subscribedCapital"),
|
|
|
+ 'has_special_tips': item.get("hasSpecialTips"),
|
|
|
+ 'has_credit_tips': item.get("hasCreditTips"),
|
|
|
+ 'reg_coordinate': item.get("regCoordinate"),
|
|
|
+ 'office_coordinate': item.get("officeCoordinate"),
|
|
|
+ 'office_address': item.get("officeAddress"),
|
|
|
+ 'office_province': item.get("officeProvince"),
|
|
|
+ 'office_city': item.get("officeCity"),
|
|
|
+ 'primary_invest_type': item.get("primaryInvestType"),
|
|
|
+ 'fund_type_scale_map': item.get("fundTypeScaleMap"),
|
|
|
+ 'member_type': item.get("memberType"),
|
|
|
+ 'org_form': item.get("orgForm")
|
|
|
}
|
|
|
|
|
|
- managers_info = item.get("managersInfo", [])
|
|
|
-
|
|
|
- # 找到到对应的managerId
|
|
|
- if managers_info:
|
|
|
- for info in managers_info:
|
|
|
- this_data['manager_id'] = info.get("managerId", "")
|
|
|
- break
|
|
|
-
|
|
|
person_record.append(this_data)
|
|
|
# 批量插入
|
|
|
mysql_pool.insert('amac_private_fund_manager', person_record)
|
|
|
@@ -49,55 +52,13 @@ def savetodb(data):
|
|
|
|
|
|
this_page = page
|
|
|
this_size = size
|
|
|
-payload = json.dumps({})
|
|
|
-
|
|
|
-http_url = "/amac-infodisc/api/pof/fund"
|
|
|
-
|
|
|
-print(f"请求url={http_url}?rand={Utils.random_float()}&page={this_page}&size={this_size}")
|
|
|
-
|
|
|
-conn.request("POST",
|
|
|
- f"{http_url}?rand={Utils.random_float()}&page={this_page}&size={this_size}",
|
|
|
- payload, headers)
|
|
|
-
|
|
|
-data = Utils.get_conn_result(conn, __file__).read()
|
|
|
-json_str = data.decode("utf-8")
|
|
|
-
|
|
|
-try:
|
|
|
- json_obj = json.loads(json_str)
|
|
|
- print("获取到总条数为:", json_obj.get("totalPages"))
|
|
|
-
|
|
|
- data_to_insert = json_obj.get("content")
|
|
|
-
|
|
|
- if data_to_insert is not None:
|
|
|
- # 先睡一秒,确保峰值不会太高
|
|
|
- sleep(1)
|
|
|
+payload = json.dumps({"regiProvinceFsc": "province", "offiProvinceFsc": "province",
|
|
|
+ "establishDate": {"from": "1900-01-01", "to": "9999-01-01"},
|
|
|
+ "registerDate": {"from": "1900-01-01", "to": "9999-01-01"}})
|
|
|
|
|
|
- print(f"\n开始插入数据==>{this_page}*{this_size}\n")
|
|
|
- savetodb(data_to_insert)
|
|
|
+# 私募基金管理人
|
|
|
+http_url = "/amac-infodisc/api/pof/manager/query"
|
|
|
|
|
|
- if json_obj.get("totalPages") > 1:
|
|
|
- for i in range(1, json_obj.get("totalPages")):
|
|
|
- this_page = i
|
|
|
- print(f"请求url={http_url}?rand={Utils.random_float()}&page={this_page}&size={this_size}")
|
|
|
- conn.request("POST",
|
|
|
- f"{http_url}?rand={Utils.random_float()}&page={this_page}&size={this_size}",
|
|
|
- payload, headers)
|
|
|
- res = conn.getresponse()
|
|
|
- data = res.read()
|
|
|
- json_str = data.decode("utf-8")
|
|
|
- print("JSON String", json_str)
|
|
|
- try:
|
|
|
- json_obj_arr = json.loads(json_str)
|
|
|
- print("获取到总条数为:", json_obj_arr.get("totalPages"))
|
|
|
- data_to_insert = json_obj_arr.get("content")
|
|
|
- if data_to_insert is not None:
|
|
|
- # 先睡一秒,确保峰值不会太高
|
|
|
- time.sleep(1)
|
|
|
- print(f"\n开始插入数据==>{i}*{this_size}\n")
|
|
|
- savetodb(data_to_insert)
|
|
|
- except json.JSONDecodeError as e:
|
|
|
- print(f"循环 Error decoding JSON: {e}")
|
|
|
-except json.JSONDecodeError as e:
|
|
|
- print(f"请求 Error decoding JSON: {e}")
|
|
|
+Utils.get_page_result(http_url, this_page, this_size, payload, headers, conn, savetodb, __file__)
|
|
|
|
|
|
-print("结束时间(精确到毫秒):", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), time.time() * 1000)
|
|
|
+print(f"[私募基金管理人]结束时间(精确到毫秒): {Utils.data_time()} - {start_time}")
|