import datetime
|
import logging
|
import time
|
|
import pandas as pd
|
import requests
|
import json
|
import requests
|
|
import tool
|
|
# 竞价
|
DABAN_TYPE_BIDDING = 8
|
# 涨停
|
DABAN_TYPE_LIMIT_UP = 1
|
# 炸板
|
DABAN_TYPE_OPEN_LIMIT_UP = 2
|
# 跌停
|
DABAN_TYPE_LIMIT_DOWN = 3
|
# 曾跌停
|
DABAN_TYPE_EVER_LIMIT_DOWN = 5
|
|
|
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 daBanList(pidType):
|
data = "Order=1&a=DaBanList&st=100&c=HomeDingPan&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23" \
|
f"&VerSion=5.8.0.2&Index=0&Is_st=1&PidType={pidType}&apiv=w32&Type=4&FilterMotherboard=0&Filter=0&FilterTIB=0" \
|
"&FilterGem=0 "
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
def getFengKouList(day):
|
data = f"c=StockFengKData&a=GetFengKList&Index=0&st=500&Order=17&Day={day}&Time=&DeviceID=a38adabd-99ef-3116" \
|
"-8bb9-6d893c846e23 "
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php?apiv=w32&PhoneOSNew=1&VerSion=5.8.0.2",
|
data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
def getFengXiangBiao():
|
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=801225&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
|
data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
def getWeiTuo_W14(code, index):
|
data = f"a=GetWeiTuo_W14&st=200&c=StockL2Data&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&Token=0&Index={index}&Tur=30&apiv=w32&Type=3&Vol=500&StockID={code}&VType=1&UserID=0&VOrder=0&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php",
|
data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
# 获取行业涨幅
|
def getIndustryRealRankingInfo():
|
data = f"Order=1&a=RealRankingInfo&st=20&apiv=w32&Type=2&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 getMarketIndustryRealRankingInfo(orderJingE_DESC=True):
|
data = f"Order={ 1 if orderJingE_DESC else 0}&a=RealRankingInfo&st=20&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=20&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 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("请求出错")
|
return response.text
|
|
|
# 获取概念代码
|
def getCodesByPlate(plate):
|
data = f"Order=1&a=ZhiShuStockList_W8&st=100&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}&"
|
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):
|
data = f"a=SonPlate_Info&apiv=w32&c=ZhiShuRanking&PhoneOSNew=1&DeviceID=a38adabd-99ef-3116-8bb9-6d893c846e23&VerSion=5.8.0.2&PlateID={plate}&"
|
response = __base_request("https://apphq.longhuvip.com/w1/api/index.php", data=data)
|
if response.status_code != 200:
|
raise Exception("请求出错")
|
return response.text
|
|
|
def test_l2():
|
code = "600981"
|
count = 0
|
while True:
|
result = getWeiTuo_W14(code, count)
|
result = json.loads(result)
|
new_count = result["Count"]
|
list_ = result["List"]
|
if new_count != count:
|
print(tool.get_now_time_str(), len(list_), result)
|
count = new_count
|
|
|
if __name__ == '__main__':
|
result = (getCodesByPlate("801085"))
|
result = json.loads(result)
|
print(result["list"])
|
|
result = (daBanList(DABAN_TYPE_LIMIT_UP))
|
result = json.loads(result)
|
print(len(result["list"]))
|
tool.get_now_time_str()
|
for d in result["list"]:
|
print(d)
|
# print("强度", getSonPlate("801270"))
|
print(getMarketJingXuanRealRankingInfo(True))
|