Skip to content

我在运行adata.sentiment.hot.hot_rank_100_ths()出错了 #169

@dengjue

Description

@dengjue

版本号是2.9.4
今天有个新股:誉帆科技,没有tag数据,所以获取同花顺前100热度股票的时候,就出错了,以下是修改后的代码:
@staticmethod
def hot_rank_100_ths():
"""
同花顺热股100
https://dq.10jqka.com.cn/fuyao/hot_list_data/out/hot_list/v1/stock?stock_type=a&type=hour&list_type=normal
"""
api_url = (
"https://dq.10jqka.com.cn/fuyao/hot_list_data/out/hot_list/v1/stock?stock_type=a&type=hour&list_type=normal"
)
headers = ths_headers.json_headers
headers["Host"] = "dq.10jqka.com.cn"
res = requests.request(method="get", url=api_url, params={}, headers=headers)
data = res.json()["data"]["stock_list"]
data_list = []
for i, d in enumerate(data):
if "tag" in d:
d["concept_tag"] = ";".join(d["tag"]["concept_tag"])
if "popularity_tag" in d["tag"]:
d["pop_tag"] = d["tag"]["popularity_tag"].replace("\n", "")
else:
d["concept_tag"] = ""
d["pop_tag"] = ""
data_list.append(d)
rename = {
"order": "rank",
"rise_and_fall": "change_pct",
"code": "stock_code",
"name": "short_name",
"rate": "hot_value",
"concept_tag": "concept_tag",
}
rank_df = pd.DataFrame(data).rename(columns=rename)
rank_df = rank_df[["rank", "stock_code", "short_name", "change_pct", "hot_value", "pop_tag", "concept_tag"]]
return rank_df

主要是判断一下if "tag" in d

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions