import json
|
|
import requests
|
|
|
def __base_request(url, data):
|
headers = {
|
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
|
"User-Agent": "Dalvik / 2.1.0(Linux;U;Android 6.0.1;MuMu Build/V417IR)"
|
}
|
# proxies={'https': '192.168.3.251:9002'}
|
# 禁止代理,不然会走本地代理
|
response = requests.post(url, data=data, headers=headers, proxies={"http": None, "https": None})
|
return response
|
|
|
# 获取代码的板块
|
def getStockIDPlate(code):
|
data = f"a=GetStockIDPlate_New&apiv=w32&c=StockL2Data&StockID={code}&PhoneOSNew=1&UserID=0&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Token=0&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
|
data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
result = response.text
|
result = json.loads(result)
|
print(result)
|
if int(result["errcode"]) != 0:
|
return None
|
return result["ListJX"] if result["ListJX"] else result["List"]
|
|
|
# 获取概念代码
|
def getCodesByPlate(plate_code):
|
data = f"Order=1&a=ZhiShuStockList_W8&st=30&c=ZhiShuRanking&PhoneOSNew=1&old=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&IsZZ=0&Token=0&Index=0&apiv=w32&Type=6&IsKZZType=0&UserID=0&PlateID={plate_code}&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
|
data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
# 获取概念中的板块强度
|
def getSonPlate(plate_code):
|
data = f"a=SonPlate_Info&apiv=w32&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&PlateID={plate_code}&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
# 市场行情-行业
|
def getMarketIndustryRealRankingInfo(orderJingE_DESC=True):
|
data = f"Order={1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=80&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=4&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
|
data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
# 市场行情-精选
|
def getMarketJingXuanRealRankingInfo(orderJingE_DESC=True):
|
data = f"Order={1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=80&apiv=w32&Type=5&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Index=0&ZSType=7&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
|
data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
# 获取代码的精选板块
|
# 返回格式:[(板块代码,板块名称,涨幅百分比)]
|
def getCodeJingXuanBlocks(code):
|
data = f"a=GetStockIDPlate&apiv=w32&Type=2&c=StockL2Data&StockID={code}&PhoneOSNew=1&UserID=0&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Token=0&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
result = response.text
|
result = json.loads(result)
|
return result.get("ListJX")
|
|
|
# 获取自由流通市值
|
def getZYLTAmount(code):
|
data = f"a=GetStockPanKou_Narrow&apiv=w32&c=StockL2Data&VerSion=5.8.0.2&State=1&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&StockID={code}&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
result = response.text
|
result = json.loads(result)
|
if "real" in result:
|
return result["real"].get("actualcirculation_value")
|
return None
|
|
|
if __name__ == "__main__":
|
print(getZYLTAmount("000333"))
|